CotentPane
Container를 생성자 안에 만들어서 그 안에 다양한 컴포넌트들을 기입하여 창을 만들 수 있게됨.
ContentPane은 출력창(JFrame)의 주요 컨테이너이다.
import javax.swing.*; // Swing 라이브러리를 가져와서 GUI 컴포넌트를 사용할 수 있도록 함.
import java.awt.*; // AWT(Abstract Window Toolkit) 라이브러리를 가져와서 윈도우 구성 요소를 사용할 수 있도록 함.
public class ContentPaneEx extends JFrame{ // JFrame을 확장하는 ContentPaneEx 클래스 생성.
public ContentPaneEx() { // 클래스의 생성자.
setTitle("ContentPane과 JFrame"); // 윈도우의 제목을 설정함.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 윈도우가 닫힐 때 프로그램이 종료되도록 설정함.
Container contentPane = getContentPane(); // 현재 프레임의 컨텐트 팬을 가져옴.
contentPane.setBackground(Color.pink); // 컨텐트 팬의 배경색을 핑크색으로 설정함.
contentPane.setLayout(new FlowLayout()); // 컨텐트 팬에 플로우 레이아웃 매니저를 설정함.
contentPane.add(new JButton("OK")); // "OK" 버튼을 컨텐트 팬에 추가함.
contentPane.add(new JButton("Cancel")); // "Cancel" 버튼을 컨텐트 팬에 추가함.
contentPane.add(new JButton("Ignore")); // "Ignore" 버튼을 컨텐트 팬에 추가함.
setSize(300, 150); // 프레임의 크기를 300x150 픽셀로 설정함.
setVisible(true); // 프레임을 보이게 함.
}
public static void main(String[] args) { // 메인 메소드.
new ContentPaneEx(); // ContentPaneEx 클래스의 인스턴스를 생성하여 실행함.
}
}
//컨텐트팬(Content Pane)은 Java Swing에서 JFrame (창 또는 윈도우)의 주요 컨테이너로 사용됩니다.
//이것은 윈도우 내에서 사용자 인터페이스 요소들을 담는 영역입니다.
//간단히 말해, 컨텐트팬은 창이나 프레임 내에 배치되는 모든 버튼, 텍스트 필드, 레이블, 패널 등의 구성 요소를 포함하는 부분입니다.
Grid
grid(4,2) 4행 2열의 그리드 레이아웃으로 설정하여 출력한 모습이다. grid에 대한 이해를 돕는데 좋은 코드인것 같다.
import javax.swing.*;
import java.awt.*;
public class GridLayoutEx extends JFrame {
public GridLayoutEx() {
setTitle("GridLayout Sample"); // 윈도우 제목 설정
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 닫기 버튼을 눌렀을 때 프로그램 종료
GridLayout grid = new GridLayout(4,2);
// 4행 2열의 그리드 레이아웃 생성
grid.setVgap(5); // 그리드 레이아웃의 세로 간격을 5 픽셀로 설정
Container c = getContentPane(); // 프레임의 컨텐트팬을 가져옴
c.setLayout(grid); // 컨텐트팬에 그리드 레이아웃 설정
// 레이블과 텍스트 필드를 컨텐트팬에 추가
c.add(new JLabel(" 이름"));
c.add(new JTextField(""));
c.add(new JLabel(" 학번"));
c.add(new JTextField(""));
c.add(new JLabel(" 이름"));
c.add(new JTextField(""));
c.add(new JLabel(" 학번"));
c.add(new JTextField(""));
setSize(300, 200); // 윈도우 크기 설정
setVisible(true); // 윈도우를 화면에 표시
}
public static void main(String[] args) {
new GridLayoutEx(); // GridLayoutEx 클래스의 인스턴스 생성 및 실행
}
}
'📟java > 개발 이론정리' 카테고리의 다른 글
프로세스, 쓰레드 차이 (0) | 2023.11.07 |
---|---|
상속 (0) | 2023.10.23 |
this || getter(값 불러오기. return사용), setter(값 변경 ,this사용) (0) | 2023.10.02 |
접근제어자 (0) | 2023.10.01 |
레퍼런스와 스태틱 (0) | 2023.10.01 |