[java] 사용자 인터페이스(UI) 개발

Java는 널리 사용되는 프로그래밍 언어로, 다양한 플랫폼에서 사용자 인터페이스(UI) 개발에 많이 활용됩니다. Java의 UI 개발에는 여러가지 방법과 도구가 있습니다. 이 글에서는 Java Swing을 사용한 UI 개발에 대해 알아보겠습니다.

Swing 소개

Swing은 Java에서 기본적으로 제공하는 UI 라이브러리로, 다양한 컴포넌트와 레이아웃을 제공합니다. Swing은 AWT의 후속으로 개발되었으며, AWT보다 더 다양한 기능과 유연성을 제공합니다.

Swing 컴포넌트

Swing은 다양한 컴포넌트를 제공하여 사용자 인터페이스를 구성할 수 있습니다. 예를 들면, JButton, JTextField, JCheckBox 등이 있는데, 각각 버튼, 텍스트 필드, 체크박스 등과 같은 역할을 합니다.

아래는 JButton을 사용한 간단한 예제 코드입니다.

import javax.swing.JButton;
import javax.swing.JFrame;

public class MyFrame extends JFrame {
    public MyFrame() {
        JButton button = new JButton("Click me!");
        add(button);
        
        setTitle("My Frame");
        setSize(300, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
    
    public static void main(String[] args) {
        new MyFrame();
    }
}

위 코드에서는 JButton을 생성하고 JFrame에 추가한 후, JFrame을 생성하고 화면에 표시합니다. 버튼을 클릭하면 “Click me!”라는 메시지가 출력됩니다.

Swing 레이아웃

Swing은 다양한 레이아웃 관리자를 제공하여 컴포넌트들을 원하는 위치에 배치할 수 있습니다. 예를 들어, BorderLayout, FlowLayout, GridLayout 등이 있는데, 각각 다른 배치 방식을 가지고 있습니다.

아래는 GridLayout을 사용한 예제 코드입니다.

import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class MyFrame extends JFrame {
    public MyFrame() {
        setLayout(new GridLayout(2, 2)); // 2x2 그리드 레이아웃
        
        JButton button1 = new JButton("Button 1");
        JButton button2 = new JButton("Button 2");
        JButton button3 = new JButton("Button 3");
        JButton button4 = new JButton("Button 4");
        
        add(button1);
        add(button2);
        add(button3);
        add(button4);
        
        setTitle("My Frame");
        setSize(300, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
    
    public static void main(String[] args) {
        new MyFrame();
    }
}

위 코드에서는 GridLayout을 설정한 후, JButton을 생성하여 그리드에 배치합니다. 결과적으로 2x2 그리드 형태의 버튼 레이아웃이 생성됩니다.

참고 자료