티스토리 뷰

   한동안 DB작업만 하다가 오랜만에 코딩할 일이 생겨서 JavaFX를 알아봤다.


   데이터 가공 중에 노가다가 싫어서(;;) 많은 양의 텍스트를 한번에 처리하는 프로그램을 만들려고 보니, 이왕이면 UI가 있으면 좋겠다 싶었다. Java 1.8에 대응하는 JavaFX를 써보고 싶기도 했고.



   아래는 이클립스에서 JavaFX를 프로그래밍하는 기본 예제다.


프로젝트 우클릭 → Build Path → Configure Build Path.. → Add External JARs... 클릭 → jfxrt.jar 파일을 추가한다.




Order and Export 탭으로 옮겨가서 jfxrt.jar를 최상단에 놓는다.




javafx.application.Application을 상속받는 클래스를 생성한다.




▼ MainClass

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
 
public class MainClass extends Application {
 
    public static void main(String[] args) {
        // 실행~~
        launch(args);
    }
     
    @Override
    public void start(Stage stage) throws Exception {
        // 창 제목 설정.
        stage.setTitle("열려라 참깨!");
         
        // 버튼 만들기.
        Button btn = new Button();
        btn.setText("누르시오~");
         
        btn.setOnAction(new EventHandler<actionevent>() { // 버튼 눌렀을 때 실행됨.
            @Override
            public void handle(ActionEvent arg0) {
                Alert alert = new Alert(AlertType.INFORMATION);
                alert.setTitle("알림");
                alert.setContentText("안녕?");
                alert.setHeaderText(null);
                alert.show();
            }
        });
         
        // 판때기 하나 깔아주시고,,
        StackPane sp = new StackPane();
        sp.getChildren().addAll(btn);
         
        // 창 설정.
        stage.setScene(new Scene(sp, 500, 300));
        stage.show();
    }
     
 
}
</actionevent>



위의 소스를 Ctrl + F11 실행하면 창이 뜬다.




버튼을 누르면 알림창이 뜨는 초간단한 예제.




   Java에 익숙하고, 특히나 Swing을 써봤던 사람이라면 "아항~ 이런 식이구만~" 할 거다.


   여기에 자기가 원하는 로직을 추가하고 API를 검색해서 객체들을 요리조리 활용하면 된다.



댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
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 28 29 30
글 보관함