ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [자바프로그래밍] 그래픽 사용자 인터페이스
    공부 2023. 6. 2. 10:52

    MyFrame.java

    import javax.swing.*;
    import java.awt.*;
    public class MyFrame extends JFrame {
    	MyFrame() {
    		Toolkit kit = Toolkit.getDefaultToolkit();
    		Dimension screensize = kit.getScreenSize(); 
    		setSize(300,200);
    		setLocation(screensize.width / 2, screensize.height / 2);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setTitle("MyFrame");
    		
    		Image img = kit.getImage("icon.jpg");
    		setIconImage(img);
    		setLayout(new FlowLayout()); // 주석처리하면 버튼3만 보임
    		JButton button1 = new JButton("버튼1");
    		JButton button2 = new JButton("버튼2");
    		JButton button3 = new JButton("버튼3");
    		this.add(button1);
    		this.add(button2);
    		this.add(button3);
    		setVisible(true);
    	}
    }

    MyFrameTest.java

    public class MyFrameTest {
    	public static void main(String[] args) {
    		MyFrame f = new MyFrame();
    	}
    }

    프레임의 속성 변경하기

     

    기초 컴포넌트

    - 패널(panel)

    - 레이블(label)

    - 버튼(button)

    - 텍스트 필드(text field)

    패널

    - 컴포넌트들을 포함하고 있도록 설계된 컨테이너 중의 하나

    레이블

    - 편집이 불가능한 텍스트를 표시

    텍스트 필드

    - 입력이 가능한 한 줄의 텍스트 필드를 만드는데 사용

    버튼

     

    배치 관리자(layout manager)

    - 컨테이너 안의 각 컴포넌트의 위치와 크기를 결정하는 작업

     

    배치 관리자의 설정

    1. 생성자를 이용하는 방법

    2. SetLayout() 메소드 이용

     

    FlowLayout

    - 컴포넌트들을 왼쪽 -> 오른쪽으로 버튼 배치

    - 패널과 애플릿의 디폴트 배치 관리자

     

    BorderLayout

    - 5개의 영역으로 구분, 각각의 영역에 컴포넌트를 배치

     

    GridLayout

    - 컴포넌트들을 격자 모양으로 배치

    생성자 설명
    GridLayout(int rows, int cols) rows 행과 cols 열을 가지는 GridLayout 객체를 생성
    만약 rows나 cols가 0이면 필요한 만큼의 행이나 열이 만듦
    GridLayout(int rows, int cols, int hgap, int vgap) rows 행과 cols 열을 가지는 GridLayout 객체를 생성
    hgap과 vgap은 컴포넌트 사이의 수평 간격과 수직 간격으로
    단위는 픽셀

     

    '공부' 카테고리의 다른 글

    [JSP] CheckBox  (0) 2023.09.12
    [JSP] Login  (0) 2023.09.12
    [자바프로그래밍] 인터페이스, 람다식, 패키지 // 미작성  (0) 2023.06.09
    [자바프로그래밍] 이벤트 처리  (0) 2023.06.02
    [웹 프로그래밍] DOM  (0) 2023.06.01
Designed by Tistory.