关于什么是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()方法。这个就先知道一下吧