728x90
반응형
컨테이너
자신의 영역 안에 다른 컴포넌트를 포함할 수 있는 컴포넌트
Window, Frame, Panel, Applet, Dialog 등이 있다.
1. Panel 컨테이너
컴포넌트를 그룹별로 모을 때 주로 사용하는 컨테이너이다. 컴포넌트를 Panel에 모으면 관리와 배치가 용이해지기 때문이다.
import java.awt.*;
import java.awt.event.*;
public class FrameTest {
public static void main(String[] args) {
Frame frame = new Frame();
frame.setTitle("프레임 테스트");
frame.setSize(600,400);
frame.setLocation(100,100);
frame.setResizable(false);
Panel pane01 = new Panel();
Panel pane02 = new Panel();
Panel pane03 = new Panel();
Panel pane04 = new Panel();
Panel pane05 = new Panel();
pane01.setBackground(Color.RED);
pane02.setBackground(Color.BLUE);
pane03.setBackground(Color.GREEN);
pane04.setBackground(Color.ORANGE);
pane05.setBackground(Color.GRAY);
frame.add(pane01, "North");
frame.add(pane02, "West");
frame.add(pane03, "East");
frame.add(pane04, "South");
frame.add(pane05, "Center");
Label label = new Label("문자열 : ");
TextField textField = new TextField(20);
pane01.add(label);
pane01.add(textField);
frame.add(pane01, "North");
Checkbox chk01 = new Checkbox("체크박스 1번");
pane02.add(chk01);
frame.add(pane02, "West");
List list = new List(3);
list.add("리스트 1");
list.add("리스트 2");
pane03.add(list);
frame.add(pane03, "East");
Button button01 = new Button("확인");
Button button02 = new Button("취소");
pane04.add(button01);
pane04.add(button02);
frame.add(pane04, "South");
TextArea textArea = new TextArea(15,25);
pane05.add(textArea);
frame.add(pane05, "Center");
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.out.println("창을 닫습니다");
System.exit(0);
}
});
frame.addMouseMotionListener(new MouseAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
super.mouseMoved(e);
System.out.println(".");
System.out.println(e.paramString());
}
});
frame.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
super.keyTyped(e);
System.out.println(e.getKeyChar()+e.getKeyCode());
}
});
}
}
728x90
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[자바] 컴포넌트의 배치(전자계산기 만들기) (0) | 2023.10.24 |
---|---|
[자바] AWT 이벤트와 리스너의 종류 (0) | 2023.10.24 |
[자바] AWT 패키지의 이해(텍스트 영역 TextArea Component) (0) | 2023.10.23 |
[자바] AWT 패키지의 이해(리스트 List Component, 텍스트필드 TextField Component) (0) | 2023.10.23 |
[자바] AWT 패키지의 이해(콤보박스 컴포넌트, Choice Component) (0) | 2023.10.23 |