關於什麼是javaFX,爲什麼使用javaFX等問題,網上有很多解釋。
官方文檔的學習筆記:
package helloworld; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class HelloWorld extends Application { @Override public void start(Stage primaryStage) { Button btn = new Button(); btn.setText("Say '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); } }
這裏有幾點內容需要清楚:5個基礎
1.JavaFX應用程序的主類要繼承 javafx.application.Application
2.JavaFX應用程序的主入口是 start()方法
3.JavaFX應用程序的用戶界面包含在:stage(舞臺) 和 scene(場景) 中
4.Stage 是JavaFX應用程序中的最高層級的容器
5.Scene是JavaFX應用程序中的所有內容的容器
結合以上例子不難理解
.HelloWorld 確實繼承了javafx.application.Application;
.找到start()方法;
.我們可以看到Button控件被安放在了Scene中,這說明Scene是所有內容的容器,那麼其他的內容也都應該放在這裏;
.緊接着我們看到Scene被放在了Satge中,這也證實了Stage是JavaFX程序中的最高容器,連存放所有內容的場景也都被他包含了;
.可以從命名中這麼理解Stage是舞臺,Scene是場景,那麼所有人,事物都應該存在與場景之中,而場景要佈置在舞臺上,舞臺上可以有不同的場景;嗯,這樣理解我才能理解的更好;
另外,Swing應用程序中嵌入JavaFX代碼需要main()方法。這個就先知道一下吧