자바 AWT - Abstract Window Toolket.

그 동안 CUI에서 프로그래밍 하느라 수고가 많았다.

이제 시각 적인 재미를 좀 붙이려 한다. 바로 GUI 프로그래밍을 위한 가장 기초를 다루도록 하자.

GUI가 무엇인지는 다들 알 것이다. 그래픽 유저 인터페이스를 위해 우리는 윈도우 창을 만들고 그리고 그 창에 어떠한 것들을 넣어서 눈이 즐겁게 하도록 할 것이다.

음.. 실제로는 이런것을 프로그래밍 해서 배치 한다는 것은 귀찮은 일이다.

특별히 이런 것을 위한 툴은 없을까 하는 생각이 들 것이다.

결과는 있다. 그러나 편한길로만 가면 재미 없으니 삥~ 돌아가도록 하자.

일단 AWT를 사용 하기 위해서는 import java.awt.*; 이걸 사용해야 한다.
그리고 사용 할 수 있는 것은 무지 무지 많다 -_-;
라벨, 채크박스, 스크롤바, 라디오버튼 기타 등등..자세한건 API님에게 -_-...

그럼 가장 먼저 프레임 컨테이너에 대해서 알아보자.

프레임 컨테이너는 기본적인 창 모양을 만들기 위해서 사용한다고 알아두자.

실제로 프레임 클래스를 이용해서 창을 만들려면 몇가지 필수 조건이 필요하다.
1. 프레임 클래스를 이용해서 객체를 생성한다. 그러나 아무것도 나타나지 않는다.
2. 이제 프레임의 크기와 출력 위치를 정하는 메소드를 이용해 지정을 해주고 마지막으로 화면에 보일 것인가를 정해준다.
-> setSize(), setLocation(), setVisible()
이 외에도 사용할 수 있는 메소드는 많다. 그럼 간단한 아래 예제를 보고 감을 잡고 다음으로 넘어가자.

import java.awt.Frame;

public class TestAWT {

    public static void main(String[] args) {

        Frame f = new Frame();

        //프레임의 객체를 만들면 그 내용이 필요하다.

        //아래 메소드들은 창의 위치, 크기, 보여줄 것인가에 대한 설정이다.

        f.setLocation(100, 100);

        f.setSize(200, 300);

        f.setVisible(true);

    }

}

### 이 외에도 색조정(배경 부터 문자 다양하게..), 라벨이나 텍스트 상자의 글꼴 모두 메소드를 이용해 효과 또한 적용이 가능하다.

이번에는 패널 컨테이너에 대해서 알아보자. 패널이라는 것은 기본적으로 배치해야 할 것들을 일일이 다 지정해줘야 할 부담을 덜어주는데 기가 막힌 컨테이너다.

패널의 특징은 패널에 들어가는 내용은 패널이 알아서 꾸며준다. 물론 모든 조건을 만족할 만큼은 아니지만 정해진 조건에서 알아서 잘 꾸며 주기 때문에 사용하면 편리하다. 그럼 바로 예를 보고 다음으로 넘어가자.

import java.awt.*;

public class TestPanel {

    public static void main(String[] args) {

        Frame f = new Frame();

        //버튼을 만든다. 버튼 역시 클래스이다.


        Button b1 = new Button("천재");

        Button b2 = new Button("바보");

        //패널을 이용하면 패널에 들어갈 내용이 자동적으로 조절이 된다.


        Panel p = new Panel();

        //패널에 버튼을 넣고 패널을 프래임에 넣는다.

        p.add(b1);

        p.add(b2);

        f.add(p);


        f.setLocation(100, 100);

        f.pack();//크기를 자동조절해준다.

        f.setVisible(true);

    }

}

### 크게 봐야 할 것은 없다. 패널이 잘 꾸며 준다는 것과 프레임의 크기를 알아서 정해주는 pack() 메소드 정도만 알아두면 될 것이다.

이번 글은 여기 까지 하도록 하자. 이벤트 부분도 다루고 싶은데 이벤트는 하나의 글로 따로 작성을 할 생각이다.

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 만성피로 | 2008/09/23 21:16 | 정리할 자료들 | 트랙백 | 덧글(1)

트랙백 주소 : http://maydaisy.egloos.com/tb/863937
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 김교수 at 2008/09/23 23:09
그렇죠 역시 이벤트는 따로 쓰는 것이 제맛이죠.^^

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶