윈도우를 만드는 특수한 컴포넌트로 자신의 영역 안에 다른 컴포넌트들을 포함할 수 있는 컴포넌트를 의미한다.
즉, 컨테이너가 윈도우 창이 되는 것이다. 이 컨테이너 안에 버튼 컴포넌트, 체크 박스 컴포넌트 등 윈도우를 이루고 있는 컴포넌트들을 추가하여 윈도우 창을 구성하는 것이다. 컴포넌트만 생성했다고 해서 윈도우 창이 생기는 것은 아니다. 컴포넌트들을 생성한 후 컨테이너에 추가하여 컨테이너를 화면에 표시해야 하나의 윈도우 창이 생성되는 것이다. 대표적인 컨테이너는 다음과 같다.
Frame
Frame 컨테이너는 윈도우 창을 생성하는 기본적인 컨테이너로 클래스 인스턴스를 생성했다고 해서 바로 화면에 나타나지 않는다. 따라서 Frame 컨테이너를 생성한 후 setVisible(true) 메소드를 호출하여 화면에 표시해 주어야 한다. 이 과정을 생략하면 윈도우 창은 생성되지 않는다.
Panel
Panel 컨테이너는 컴포넌트들을 그룹별로 모을 때, 주로 사용한다. 보통 GUI를 설계할 때, 컴포넌트를 독립적으로 Applet과 Frame 에 붙이기 보다는 Panel 컨테이너에 그룹별로 붙이고, 패널을 배치하는 경우가 대부분이다. 이것은 컴포넌트 별로 그룹을 만들어 관리가 편리하다는 장점도 있지만, 앞으로 배울 배치 문제 때문에 피할 수 없는 문제이기도 하다.
Dialog
Dialog 컨테이너는 팝업(Pop-Up) 윈도우 형태로 메인 윈도우 외에 따로 메시지를 출력하거나, 사용자의 입력을 받을 때 주로 사용되는 컨테이너이다. 보통 개발자는 Dialog 컨테이너를 상속받아, 새로운 기능을 가진 대화창을 만드는데 주로 사용한다.
[ Frame 창 생성 예제 ]
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class FrameTest {
private Frame frame;
public FrameTest() {
frame = new Frame("Create Frame Test");
frame.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent e) {
System.exit(0);
}
});
frame.setBounds(10, 10, 300, 300);
frame.setVisible(true);
}
public static void main(String[] args) {
FrameTest test = new FrameTest();
}
}
[위 예제의 실행 jar 파일]
'자바(Java) > JAVA 2SE' 카테고리의 다른 글
시스템 플랫폼이 지원하는 폰트 리스트 알아보기 (0) | 2010.08.29 |
---|---|
윈도우 창 생성 방법 (0) | 2010.08.29 |
자바 GUI(Graphic User Interface) 프로그래밍 (0) | 2010.08.29 |
그리드백(GridBag) 레이아웃 (0) | 2010.07.11 |
JTable 컴포넌트 클래스 (0) | 2010.07.11 |