[java] GUI 프로그래밍

GUI (Graphical User Interface) 프로그래밍은 사용자가 그래픽 요소를 통해 소프트웨어와 상호작용하는 프로그래밍 방식입니다. 이를 통해 사용자는 버튼, 텍스트 상자, 메뉴 등의 그래픽 요소를 마우스 클릭 또는 키보드 입력으로 조작할 수 있습니다.

Java는 GUI 프로그래밍을 위한 강력한 도구와 라이브러리를 제공하며, 여러 가지 방법으로 GUI를 만들고 관리할 수 있습니다.

Swing

Swing은 Java에서 제공하는 가장 기본적인 GUI 툴킷입니다. Swing을 사용하면 버튼, 레이블, 패널 등과 같은 여러 가지 구성 요소를 만들 수 있습니다. 이러한 구성 요소들은 JFrame, JDialog 및 JApplet과 같은 컨테이너 클래스에 추가하여 사용자 인터페이스를 구성합니다.

import javax.swing.*;

public class MyFirstSwingApp {
    public static void main(String[] args) {
        JFrame frame = new JFrame("My First Swing App");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        JButton button = new JButton("Click me!");
        frame.getContentPane().add(button);
        frame.setVisible(true);
    }
}

JavaFX

JavaFX는 Java 8부터 기본 플랫폼으로 도입된 GUI 툴킷입니다. JavaFX는 더욱 현대적이고 다양한 기능을 제공하며, CSS 스타일링, 멀티미디어 처리, 애니메이션 등의 기능을 갖추고 있습니다. JavaFX 애플리케이션은 javafx.application.Application 클래스를 확장하여 개발할 수 있습니다.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class MyFirstJavaFXApp extends Application {
    public static void main(String[] args) {
        launch(args);
    }
    
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("My First JavaFX App");
        Button button = new Button("Click me!");
        StackPane root = new StackPane();
        root.getChildren().add(button);
        primaryStage.setScene(new Scene(root, 300, 200));
        primaryStage.show();
    }
}

참고 자료