JavaFX基础教程:002 Hello World

本文通过一个简单的`HelloWorld`示例介绍了JavaFX的基础使用和架构。代码中展示了如何创建并展示一个带有版本信息的标签,涉及`Application`类、`Stage`、`Scene`和`StackPane`的使用。同时,概述了JavaFX的主要包及其功能,包括动画、应用生命周期、并发处理、CSS样式、几何形状、场景图和事件处理等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依据国际惯例,所有语言入门的最好方式自然是"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();
    }
}

效果

效果截图

代码说明

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

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

基础结构介绍

主要包

  • 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事件的类和接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值