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