依据国际惯例,所有语言入门的最好方式自然是"Hello World"。本节中我们将使用一个简单的例子来介绍JavaFX的基本使用和架构。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.scene.text.Font; import javafx.stage.Stage; public class TutorialApplication extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) throws Exception { // 分别获取Java和JavaFX的版本 String javaVersion = System.getProperty("java.version"); String javafxVersion = System.getProperty("javafx.version"); // 创建label标签,用于信息展示 Label l = new Label("Hello, JavaFx " + javafxVersion + ", running on Java " + javaVersion + "."); // 设置字体大小 l.setFont(Font.font(20)); // 创建布局StackPane StackPane stackPane = new StackPane(); stackPane.getChildren().add(l); // 创建场景Scene Scene scene = new Scene(stackPane, 640, 480); stage.setScene(scene); stage.show(); } }
javafx.application.Application
类,此类中定义了JavaFX容器的生命周期,其中start()方法为主要入口,launch()方法主要用于调起start()方法javafx.stage.Stage
,Stage为JavaFX的最顶层容器,做窗口展示使用。以上使用到的组件在后续教程中会进行具体介绍,暂时会使用即可
javafx.animation
- 主要用于动画展示,如 填充,淡入淡出,旋转,缩放和平移javafx.application
- 主要负责JavaFX的生命周期,核心类Application,工具类Platformjavafx.application.Application
类中主要方法:
init()
- JavaFX启动前进行初始化操作(可以用于加载初始动画)start()
- JavaFX程序运行主体,所有的逻辑在此方法中执行生效(必须实现)stop()
- JavaFX程序结束时进行的操作launch()
- JavaFX程序的入口方法,主要用于调起start()
方法javafx.concurrent
- 主要用于并发操作或者任务定时操作javafx.css
- 主要用于添加设置css样式javafx.geometry
- 主要用于2D对象的定义和操作javafx.scene
- 支持场景图的类和接口。 此外,它还提供了子包,如画布,图表,控件,效果,图像,输入,布局,媒体,绘画,形状,文本,转换,Web等。有几个组件支持JavaFX丰富的APIjavafx.stage
- JavaFX的顶级容器,主要用于窗体展示javafx.event
- 用于传递和处理JavaFX事件的类和接口