'AWT란'에 해당되는 글 1건

  1. 2008.08.20 AWT란
2008. 8. 20. 14:55

AWT란

AWT 란? | J2SE

1> AWT 란?

자바에서 그래픽 프로그램을 하기 위한 클래스 라이브러리를 제공해 주고 있는데, 이것을 Abstract Window Toolkit이라 한다. AWT란 그래픽 프로그램을 작성하기 위한 라이브러리라고 말할 수 있습니다.

AWT는 처음 java1.0에서 소개 되었으며 초기 AWT가 소개 될 때 한번 만들면 어디에서나 똑같이 동작한다고 선전을 했지만, 운영체제에따라 약간씩의 모양이 다르게 나타난다. 하지만 이것이 그다지 큰 단점은 이니다. 이를 보완해서 나온 것이 바로 swing 이다. AWT와 swing의 차이점은 swing에서 보다 다양한 라이브러리와 기능을 제공하며 좀 이쁘다는 것 외에는 그 사용맥락은 비슷하다. 하지만 아직 이 swing은 그다지 많이 사용되지는 않고 있다. 왜냐면 자바의 확장 패키지인 이 swing은 자바가상머신에 추가를 해야되고, 또한 아직 웹브라우저인 익스플로러에서 지원을 해 주지 않기 때문이다.(그건 MS사와 SUN 는 사이가 좋지 않기 때문이기도 하다.^^;) 굳이 사용하자면 html convert를 해줘야 때문에 잘 사용하지 않는다.

 

어쨌든 AWT와 swing는 거의 비슷한 맥락을 이루고 있으므로 AWT만 잘 다룬다면 swing으로 넘어가는데는 그다지 힘들지 않는다.

2> AWT 클래스 구조

 

AWT는 awt 패키지에 들어있다. 따라서 AWT를 사용하려면 awt를 import를 해야한다. 즉 클래스를 선언하기 전에 다음과 같은 문장이 반드시 나와야된다.

 

import java.awt.*;

 

우선 구조를 보면 AWT의 모든 클래스는 추상 클래스인 Component를 상속하고 있다. 이것은 Component 클래스가 가진 모든 메소드들을 공통적으로 사용할 수 있음을 말한다.
( 노란색은 추상클래스이다.)

 

AWT는 다음과 같이 나눌수 있다.

  • 기본 컴포넌트: Button, Label, Choice, CheckBox, List, Canvas, ScrollBar
  • 컨테이너 컴포넌트: Container, Panel, Window, Frame, Dialog, FileDialog(상속관계를 유심히)
  • 텍스트 컴포넌트: TextComponent, TextArea, TextField

AWT의 구조는 기억을 해두길 바란다.

3> java.awt.Componet 클래스의 주요 메서드

  1. public Dimension getSize()

    컴포넌트의 현재 크기를 Dimension 클래스 객체로 반환한다. Dimension 클래스는 hieght와 width를 멤버변수를 갖는 클래스로 가로, 세로 크기를 한 객체에 다 담을 수 있다.
    즉 이 메소드를 이용하면 현재 컴포넌트 크기를 알 수 있다.

  2. public void setForeground(Color c)
    pulbic void setBackground(Color c)

    인자로 넘겨받은 Color 클래스 객체 c로 Foreground는 글자색을, Background은 배경색을 결정한다. Color 클래스는 색상을 객체 모델링 한 클래스이다.

  1. public void setFont(Font f)

    컴포넌트의 현재 폰트를 설정한다. 인자로 Font 클래스 객체를 받는데 Font 클래스는 폰트와 관련된 정보를 갖고 있다.

  1. public void setEnabled(boolen b)

    논리형 변수를 인자로 가지는데 인자가 false 이면 컴포넌트가 회색으로 변하면선 사용자의 입력에 반응하지 않는다. 이 메서드는 주로 TextField에 사용자가 입력하지 못하도록 할때 사용된다.

  2. void setBound(int x, int y, int width, int hieght)
    void setSize(int width, int hieght)
    void pack()

    이 메서드들은 모두 컴포넌트의 크기를 나타내는데 setBound()는 좌표(x, y)가 있어서 컴포넌트의 위치를 결정할 수 있다. 이에 반해 setSize()는 크기만 결정한다. pack()는 컴포넌트 크기가 아니고 컨테이너에만 해당되는데, 컴포넌트의 크기에 딱 맞게 컨테이너를 설정할때 사용한다.
    (여기서 pack()는 Window 클래스의 메서드이다.)

  3. void setVisible(boolean b)

    인자로 주어진 논리형 변수값이 false이면 화면에서 사라지게 하고 true이면 나타나게 한다.

출처 : getJAVA™

'My work space > Java' 카테고리의 다른 글

소켓(Socket)  (0) 2008.08.20
Swing으로 GUI만들기  (0) 2008.08.20
awt와 swing의 차이점  (0) 2008.08.20
Basic Java - Swing  (0) 2008.08.14
객체직렬화 Serializable  (0) 2008.08.14