2014-06-11 17 views
7

Điểm khởi đầu cho một ứng dụng JavaFX là phương thức khởi động. Nhưng trong các ứng dụng JavaFX mẫu, có một phương thức chính được bao gồm. Việc sử dụng phương thức chính trong trường hợp cụ thể này là gì và tại sao cần phải xác định start() làm điểm khởi đầu cho JavaFX. Chúng ta không thể đơn giản sử dụng phương pháp chính để xác định một điểm khởi đầu như Swings?Tại sao phương pháp chính được sử dụng trong Ứng dụng JavaFX khi bắt đầu() đã tồn tại

Một ứng dụng mẫu HelloWorld:

public class HelloWorld extends Application { 

    @Override 
    public void start(Stage primaryStage) { 
     Button btn = new Button("Hello World"); 
     btn.setOnAction(new EventHandler<ActionEvent>() { 
      @Override 
      public void handle(ActionEvent 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); 
    } 
} 

Trả lời

11

Từ Oracle Docs,

Phương pháp main() là không cần thiết cho các ứng dụng JavaFX khi tập tin JAR cho ứng dụng được tạo ra với các Packager JavaFX công cụ, nhúng trình khởi chạy JavaFX vào tệp JAR. Tuy nhiên, đó là hữu ích để bao gồm phương thức main() để bạn có thể chạy các tệp JAR đã được tạo ra mà không có Trình khởi chạy JavaFX, chẳng hạn như khi sử dụng IDE trong mà các công cụ JavaFX chưa được tích hợp đầy đủ. Ngoài ra, các ứng dụng Swing nhúng mã JavaFX yêu cầu phương thức main().

Các vấn đề liên quan