Hello World, JavaFX Style
学习创建和构建JavaFX应用程序的最佳方法是使用“ Hello World”应用程序。 本教程的另一个好处是,它能够测试JavaFX技术是否已正确安装。
本教程使用的开发IDE是Idea2019.3。Java开发版本为JDK1.8。如果为正确配置开发环境请移步“OpenCV-1.1 安装IDEA以及基于Java的OpenCv环境搭建”。
创建应用程序
- 文件菜单,选择New-》Project
- 在左侧工程分类中选择Java FX,并确定SDK版本1.8点击下一步
- 修改工程名“hello world” 点击finishi
创建完成的工程目录结构如下图:
- 在Main.java中输入如下代码
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(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);
}
}
以下是有关JavaFX应用程序基本结构的重要知识:
- JavaFX应用程序的主类扩展了javafx.application.Application类。 start()方法是所有JavaFX应用程序的主要入口点。
- JavaFX应用程序通过舞台和场景定义用户界面容器。 JavaFX Stage类是顶级JavaFX容器。 JavaFX Scene类是所有内容的容器。 例3-1创建了舞台和场景,并使场景在给定的像素大小下可见。
- 在JavaFX中,场景的内容表示为节点的分层场景图。在本例中根节点是一个可变大小的布局节点-StackPane 对象。这意味着布局节点的大小会跟随着用户改变场景图的大小。
- 根节点包含一个子节点–一个带有文本的按钮和相应的事件处理部分在按钮被点击的时候输出一个信息
- 当使用JavaFX Packager工具创建应用程序的JAR文件时,对于JavaFX应用程序不需要
main()
方法,该工具将JavaFX Launcher嵌入JAR文件中。 但是,包含main()
方法非常有用,这样您就可以运行在没有JavaFX Launcher的情况下创建的JAR文件,例如在使用未完全集成JavaFX工具的IDE时。 另外,嵌入JavaFX代码的Swing应用程序需要main()
方法。
下图显示了我们HelloWirld应用程序的场景图:
Figure Hello World Scene Graph
Run the Application
- 点击运行按钮或者右键Main文件点击运行
- 点击Say hello world 按钮
- 查看控制台是否输出相应信息