본문 바로가기
카테고리 없음

그래픽 GUI AWT 사용법

by kangs' tong 2023. 10. 6.

AWT(추상 윈도우 툴킷)란?

AWT(Abstarct Window Toolkit)은 자바에서 그래픽 사용자 인터페이스(GUI)를 작성하기 위해 사용되는 Java 플랫폼의 기본적인 그래픽 라이브러리입니다. AWT는 플랫폼에 의존적이며 따라서 모든 운영 체제에서 똑같은 방식으로 작동하지 않을 수 있습니다. 그러나 AWT는 Java의 일부로 이미 설치되어 있으므로 따로 설치할 필요가 없습니다.

AWT 컴포넌트

AWT는 다양한 종류의 컴포넌트를 제공하여 GUI를 만들 수 있게 해줍니다. 이러한 컴포넌트는 버튼, 레이블, 텍스트 상자, 체크박스 등 다양한 작업을 수행할 수 있는 GUI 요소들입니다. 이러한 AWT 컴포넌트는 java.awt 패키지에 포함되어 있으며, 이를 사용하여 GUI 애플리케이션을 만들 수 있습니다.

AWT 컴포넌트 생성하기

AWT 컴포넌트를 생성하기 위해서는 다음과 같은 단계를 따라야 합니다:

  1. 컴포넌트를 담을 Frame 생성하기:

    Frame frame = new Frame("GUI 애플리케이션");
  2. 컴포넌트 생성하기:

    Button button = new Button("클릭");

    위의 예제에서 Button은 AWT 패키지의 컴포넌트 중 하나입니다. Button 객체를 생성할 때, 버튼에 표시될 텍스트를 매개변수로 전달하여 초기화합니다.

  3. 컴포넌트를 프레임에 추가하기:

    frame.add(button);

    add() 메소드를 사용하여 생성한 컴포넌트를 프레임에 추가합니다.

AWT 컴포넌트 배치하기

AWT 컴포넌트를 배치하기 위해서는 다음과 같은 레이아웃 매니저를 사용할 수 있습니다:

  • FlowLayout: 컴포넌트를 좌에서 우로 정렬하여 배치합니다.
  • BorderLayout: 컴포넌트를 상, 하, 좌, 우, 중앙의 5개 영역으로 나누어 배치합니다.
  • GridLayout: 격자 형태로 컴포넌트를 배치합니다.
  • CardLayout: 여러 개의 패널을 겹쳐서 배치하고, 사용자가 패널 사이를 이동할 수 있게 합니다.

아래 예제는 FlowLayout를 사용하여 버튼을 배치하는 방법을 보여줍니다:

frame.setLayout(new FlowLayout());

이렇게하면 버튼이 생성된 순서대로 왼쪽에서 오른쪽으로 배치됩니다. 또한, BorderLayout, GridLayout, CardLayout과 같은 다른 레이아웃 매니저를 사용할 수도 있습니다.

AWT 컴포넌트 이벤트 처리하기

AWT 컴포넌트에서 발생하는 이벤트를 처리하기 위해서는 다음과 같은 단계를 따라야 합니다:

  1. 이벤트 리스너 인터페이스를 구현하기:

    public class MyActionListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            // 이벤트 처리 로직 작성
        }
    }

    ActionListener 인터페이스에는 actionPerformed() 메소드가 포함되어 있으며, 이 메소드에서 이벤트를 처리하는 로직을 작성합니다.

  2. 이벤트 리스너 등록하기:

    button.addActionListener(new MyActionListener());

    addActionListener() 메소드를 사용하여 이벤트 리스너를 등록합니다.

마무리

이제 AWT를 사용하여 그래픽 사용자 인터페이스(GUI)를 작성하는 방법에 대해 알아보았습니다. AWT는 자바의 기본 그래픽 라이브러리로, 다양한 종류의 컴포넌트와 레이아웃 매니저를 통해 GUI를 생성하고 배치할 수 있습니다. 또한, 이벤트 리스너를 사용하여 컴포넌트에서 발생하는 이벤트를 처리할 수 있습니다.

AWT는 매우 유연하고 강력한 그래픽 라이브러리이며, GUI 애플리케이션을 만드는 데 도움이 될 것입니다. 지금까지 소개한 내용을 바탕으로 AWT를 사용하여 멋진 GUI 애플리케이션을 작성해보세요!

댓글