JavaFX基础教程:002 Hello World

依据国际惯例,所有语言入门的最好方式自然是"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基础教程:002 Hello World

代码说明

  1. 从代码中可以看出,类继承实现了javafx.application.Application类,此类中定义了JavaFX容器的生命周期,其中start()方法为主要入口,launch()方法主要用于调起start()方法
  2. start()方法中传入javafx.stage.Stage,Stage为JavaFX的最顶层容器,做窗口展示使用。
  3. Stage中需要设置Scene(场景),Scene为所有内容的容器,主要用来存放各种组件。
  4. StackPane为布局组件,大小会随着Scene改变。添加子组件时,如果不指定子组件位置,则子组件会在StackPane组件中堆叠存放
    JavaFX基础教程:002 Hello World

以上使用到的组件在后续教程中会进行具体介绍,暂时会使用即可

基础结构介绍

主要包

  • javafx.animation - 主要用于动画展示,如 填充,淡入淡出,旋转,缩放和平移
  • javafx.application - 主要负责JavaFX的生命周期,核心类Application,工具类Platform
    javafx.application.Application类中主要方法:
    • init() - JavaFX启动前进行初始化操作(可以用于加载初始动画)
    • start() - JavaFX程序运行主体,所有的逻辑在此方法中执行生效(必须实现)
    • stop() - JavaFX程序结束时进行的操作
    • launch() - JavaFX程序的入口方法,主要用于调起start()方法
  • javafx.concurrent - 主要用于并发操作或者任务定时操作
  • javafx.css - 主要用于添加设置css样式
  • javafx.geometry - 主要用于2D对象的定义和操作
  • javafx.scene - 支持场景图的类和接口。 此外,它还提供了子包,如画布,图表,控件,效果,图像,输入,布局,媒体,绘画,形状,文本,转换,Web等。有几个组件支持JavaFX丰富的API
  • javafx.stage - JavaFX的*容器,主要用于窗体展示
  • javafx.event - 用于传递和处理JavaFX事件的类和接口
上一篇:JavaFX 设置TitledPane Head标题的高度


下一篇:错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap