AWT 기초

박병주·2024년 6월 21일
0

AWT

목록 보기
1/2

javatpoint.com 이라는 곳에서 제공하는 AWT 튜토리얼을 통해 학습하는 내용을 기록해보고자 한다.

AWT란?

API to develop graphical user interface

AWT는 TextField, Label, TextArea, RadioButton, CheckBox, Choice, List 등을 제공하며, 실행 시 운영체제에 따라 다르게 보일 수 있다.

  • Windows에서는 Windows 프로그램처럼, Mac에서는 Mac 프로그램처럼 UI가 맞추어 구성된다.

Component

버튼, 텍스트, 스크롤바 등의 모든 요소 등을 말한다.

Container

버튼, 텍스트 등의 다른 컴포넌트를 포함할 수 있는 컴포넌트를 말한다.

  • Windows, Panel, Frame, Dialog 4가지 종류가 있다.

    Windows

    테두리와 메뉴바가 없다. 윈도우를 만들때는 Frame, Dialog 또는 다른 창을 사용해야한다.

    Panel

    title bar, border 또는 menu bar를 포함하지 않는 컨테이너.
    컨포넌트들을 다루기 위한 일반적인 컨테이너

    Frame

    title bar, border 또는 menu bar를 포함하는 컨테이너.
    AWT 어플리케이션 개발에서 가장 넓게 사용되는 컨테이너.

컴포넌트 클래스의 유용한 메소드

public void add(Components c)
이 컴포넌트에 c 컴포넌트를 추가.
public void setSize(int width, int height)
컴포넌트의 크기를 설정
public void setLayout(LayoutManager m)
컴포넌트의 레이아웃 관리자를 정의
public void setVisible(boolean status)
컴포넌트의 가시성을 변경 (기본이 false)

프레임을 상속받아 컴포넌트를 추가하는 방식

import java.awt.*;

public class AWTExample1 extends Frame{
    
    AWTExample1(){
        // 버튼 생성
        Button b = new Button("Click Me!!");
        // 버튼 위치 설정
        b.setBounds(30,100,80,30);
        // 프레임에 버튼 추가
        add(b);

        // 프레임 사이즈 설정
        setSize(300, 300);
        // 프레임 타이틀 설정
        setTitle("AWT 기초 예제");
        // 레이아웃 관리자 없음
        setLayout(null);
        // 가시성 설정(기본 false이기때문에 true해주기 전까지 보이지 않음)
        setVisible(true);
    }

    public static void main(String[] args) {
        AWTExample1 f = new AWTExample1();
    }
}

프레임을 새로 만들어 컴포넌트를 추가하는 방식

import java.awt.*;

public class AWTExample2 {
    AWTExample2() {
        // 프레임 생성
        Frame f = new Frame();
        // 라벨 생성
        Label l = new Label("사원 ID:");
        // 버튼 생성
        Button b = new Button("Submit");
        // TextFeild 생성
        TextField t = new TextField();

        // 프레임 안에 컨포넌트들의 위치 설정
        l.setBounds(20, 80, 80, 30);
        t.setBounds(20, 100, 80, 30);
        b.setBounds(100, 100, 80, 30);

        // 프레임에 컴포넌트 삽입
        f.add(b);
        f.add(l);
        f.add(t);

        // 프레임 사이즈 설정
        f.setSize(400, 300);
        // 프레임 타이틀 절정
        f.setTitle("사원 정보");

        // 레이아웃 매니저 없음
        f.setLayout(null);
        // 프레임 가시성 설정
        f.setVisible(true);
    }

    public static void main(String[] args) {
        AWTExample2 awt_obj = new AWTExample2();
    }
}

예제의 프로그램은 X버튼으로 종료가 안된다...

profile
응애

0개의 댓글