Swing은 자바 재단 클래스(JFC)의 일부이며, 오래되었지만 여전히 관련 있는 자바 기반 GUI 생성 프레임워크 중 하나입니다.
- Swing의 기초:
- 이벤트 중심 프레임워크로 가벼운 컴포넌트를 사용합니다.
- 버튼, 텍스트 필드, 테이블과 같은 다양한 위젯 제공.
- 간단한 Swing 애플리케이션 생성하기:
- 버튼과 이벤트 처리를 포함한 기본 GUI 예제.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import javax.swing.*;
public class FirstSwingExample {
public static void main(String[] args) {
JFrame frame = new JFrame();//JFrame 인스턴스 생성
JButton button = new JButton(“클릭”);//JButton 인스턴스 생성
button.setBounds(130,100,100, 40);
frame.add(button);//JFrame에 버튼 추가
frame.setSize(400,500);//너비 400, 높이 500 설정
frame.setLayout(null);//레이아웃 관리자 사용 안 함
frame.setVisible(true);//프레임을 보이게 설정
}
}
|
cs |
JavaFX: 자바 GUI의 현대적 접근
JavaFX는 Swing을 대체할 목적으로 개발된 더 새로운 프레임워크로, 현대적인 GUI 개발을 위한 향상된 기능과 능력을 제공합니다.
- JavaFX의 특징:
- 2D 및 3D 그래픽, 웹 렌더링, 미디어 재생을 위한 풍부한 API 세트.
- CSS 스타일링과 FXML, XML 기반 UI 마크업 언어를 지원합니다.
- JavaFX 애플리케이션 구축하기:
- 기본 레이아웃과 컨트롤을 포함한 JavaFX 예제.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class HelloWorld extends Application {
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText(“Say ‘Hello World'”);
btn.setOnAction(event –> System.out.println(“Hello World!”));
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle(“Hello World!”);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
|
cs |
Swing과 JavaFX 비교
- Swing 대 JavaFX:
- Swing은 널리 사용되며 다양한 컴포넌트를 가지고 있지만, JavaFX는 풍부한 기능 세트와 사용의 용이성으로 현대적인 접근을 제공합니다.
친숙함과 널리 사용되는 Swing을 선택하든, 현대적인 기능을 제공하는 JavaFX를 선택하든, 두 프레임워크 모두 자바 GUI 개발에 탁월한 선택입니다. 각각의 장점과 사용 사례를 이해하면 더 상호작용적이고 시각적으로 매력적인 애플리케이션을 만들 수 있습니다.