본문 바로가기

Programming/JAVA

JAVA AWT

AWT ( Abstract Window Toolkit )

자바에서 GUI를 구현하기 위한 컨테이너 클래스들을 모아놓은 집합이다. java.awt 패키지에 들어있다.

컨테이너 : 윈도우, 프레임 대화상자, 패널등을 의미 컴포넌트를 담고있다.

컴포넌트 : 버튼, 체크박스, 리스트, 텍스트상자등 컨테이너에 덧붙여져서 사용되는요소.

레이아웃 : 컨테이너에 컴포넌트들을 어떻게 배치할 것인지에대한 요소.


* 컨테이너 (Frame )
window의 서브클래스로 프로그램창을 의미한다. 독립적으로 실행할 수 있다.

생성 : Frame f = new Frame(" 제목 ");
모양 : f.setSize(100,200);  // 100: 가로길이 픽셀 , 200: 세로길이 필셀
출력 : f.setVisible(true);    // 화면에 출력

예제코드)
 1.   import java.awt.*;
 2. 
 3.   public class FrameExample {
 4.      private Frame f;
 5.
 6.      public FrameExample() {
 7.          f = new Frame("Java Programming Language");
 8.      }
 9. 
10.      public void launchFrame() {
11.         f.setSize(170,170);
12.         f.setBackground(Color.blue);
13.         f.setVisible(true);
14.      }
15.
16.   public static void main(String args[]) {
17.     FrameExample guiWindow = new FrameExample();
18.     guiWindow.launchFrame();
19.   }
20.  }

* 컨테이너 (Panel)
독립적으로 사용할 수 없고, 다른 window에 덧붙여서 사용된다.

생성 : Panel pan =  new Panel();
삽입 : f.add(pan); //  Frame 객체의 f에 생성한 판넬을 덧붙인다.

예제코드)
1.     import java.awt.*;
2.     public class FrameWithPanel {
3.     private Frame f;
4.     private Panel pan;
5.
6.     public FrameWithPanel() {
7.       f = new Frame("패널이 붙은 프레임");
8.       pan = new Panel();
9.     }
10.
11.     public void launchFrame() {
12.      f.setSize(200,200);
13.      pan.setSize(100,100);
14.      pan.setBackground(Color.red);
15.      f.add(pan, BorderLayout.SOUTH);
16.      f.setVisible(true);
17.    }
18.      public static void main(String args[]) {
19.      FrameWithPanel guiWindow = new FrameWithPanel();
20.      guiWindow.launchFrame();
21.      }
22.     }

* 레이아웃 매니저 

Frame이나 Panel에 컴포넌트를 놓는 위치나 형태를 매니저를 통해서 컨트롤 한다.

FlowLayout : Panel의 기본 레이아웃 매니저 컴퍼넌트의 원래 크기가 유지되며
                   왼->오, 위->아래의 방향으로 삽입된 순서대로 배치.

BorderLayout : 기본 레이아웃 매니저 내부를 동, 서, 남, 북, 중앙으로 구분해서 컴포넌트를 배치한다. 컨테이너                       크기에 따라 컴포넌트들의 크기가 바뀐다. 위치를 지정하지 안흥면 화면에 꽉 차게 나온다.

GridLayout : 바둑판모양으로 일정하게 컴포넌트를 배치한다. 컴포넌트의 크기는 모두 일정하며 컨테이너에 따                        라 자동 조절된다.

CardLayout : 여러개의 카드를 겹쳐 놓은 것과 같은 모양으로 컴포넌트를 배치한다.

GridBagLayout : 컴포넌트의 위치와 크기를 마음대로 지정할 수 있지만 사용하기 매우 까다롭다.










'Programming > JAVA' 카테고리의 다른 글

JSP & Servlet  (0) 2010.03.21
JAVA 이벤트 핸들링  (0) 2010.02.25
JAVA java.io 패키지  (0) 2010.02.24
JAVA Thread ( Cont. )  (0) 2010.02.24
JAVA Thread  (0) 2010.02.23