资讯动态

JavaFX 入门第一课:从 OpenJFX Samples 学习 Stage、Scene 与 Label 三大核心类

发布时间:2026/8/20 17:11:38 来源:尧图企业网站定制
JavaFX 入门第一课从 OpenJFX Samples 学习 Stage、Scene 与 Label 三大核心类【免费下载链接】samplesJavaFX samples to run with different options and build tools项目地址: https://gitcode.com/gh_mirrors/samples5/samples想学桌面 GUI 开发却不知道从哪开始JavaFX 入门其实没有想象中那么难。本文将以官方 OpenJFX Samplessamples 项目中的 HelloFX 示例为主线用通俗易懂的方式带你认识 JavaFX 中最核心的三个类——Stage舞台/窗口、Scene场景与 Label标签控件并附上快速运行方法帮你迈出 JavaFX 入门的第一步。整个项目只需一个 Java 文件就能跑起来非常适合新手对照学习。一、OpenJFX Samples 是什么先看懂项目结构samples 是一个 JavaFX 官方示例集合项目描述为 JavaFX samples to run with different options and build tools即同一份 HelloFX 代码分别用命令行、Gradle、Maven以及**不同 IDEEclipse、IntelliJ、NetBeans、VSCode**来运行方便你选择最熟悉的方式上手。整个仓库按目录清晰分层HelloFX/CLI/hellofx/HelloFX.java最精简的单文件版本适合 JavaFX 入门分析CommandLine/Modular/CLI/hellofx模块化JPMS命令行版本CommandLine/Non-modular/CLI/hellofx非模块化命令行版本含 Launcher.javaIDE/VSCode/Modular/GradleVSCode Gradle 一键运行版建议初学者从HelloFX/CLI单文件版看起代码量最小逻辑最直观。二、JavaFX Stage 类的作用程序的门面「窗口」JavaFX 应用必须继承javafx.application.Application类并重写start(Stage stage)方法。这里的Stage就是 JavaFX 中最顶层的容器通俗说就是程序的主窗口——标题栏、边框、最小化最大化按钮都归属于它。在示例 HelloFX.java 中核心代码只有短短几行public void start(Stage stage) { Label l new Label(Hello, JavaFX ...); Scene scene new Scene(new StackPane(l), 640, 480); stage.setScene(scene); stage.show(); }可以看到 JavaFX Stage 用法非常固定先把界面装进 Scene再用setScene绑定到 Stage最后调用stage.show()显示窗口。main方法里只需要调用launch()JavaFX 就会自动创建 Stage 并回调start。小提示Stage代表「窗口」一个程序可以有多个 Stage就像浏览器可以开多个窗口一样。三、JavaFX Scene 场景类界面内容的「舞台布景」Scene是 Stage 内部的内容层它承载了所有 UI 控件。示例中new Scene(new StackPane(l), 640, 480)表示创建一个 640×480 的场景里面的根节点是一个 StackPane 布局Label 控件居中显示在其中。JavaFX Scene 创建时通常需要三个要素根节点布局容器如 StackPane、VBox、BorderPane宽度与高度场景尺寸单位像素可选样式表像 MainApp.java 中那样通过scene.getStylesheets().add(...)加载 CSS如果使用 FXML 方式开发还可以用FXMLLoader.load()从 scene.fxml 加载界面布局配合 FXMLController.java 控制器分离界面与逻辑这是大型项目推荐的 JavaFX 场景管理方式。四、JavaFX Label 控件显示文字的最简单方式Label是 JavaFX 中最基础、最常用的文本显示控件。示例中用它展示 Java 与 JavaFX 的版本号String javaVersion System.getProperty(java.version); String javafxVersion System.getProperty(javafx.version); Label l new Label(Hello, JavaFX javafxVersion , running on Java javaVersion .);Label 的优势在于可以直接放进各种布局容器中并通过 CSS 或 setStyle 轻松设置字体、颜色、对齐方式非常适合入门时练习控件摆放。你还可以把它与 FXML 中的FXML private Label label;注解结合实现在控制器里动态更新文本参考 FXMLController.java。五、最快运行方法三种方式任你选方式一命令行快速运行无需构建工具先下载 JDK 17 和 JavaFX SDK然后进入单文件目录cd HelloFX/CLI/hellofx javac --module-path $PATH_TO_FX --add-modules javafx.controls HelloFX.java java --module-path $PATH_TO_FX --add-modules javafx.controls HelloFX其中$PATH_TO_FX指向 JavaFX SDK 的 lib 目录。这是最快的 JavaFX 运行方式适合快速验证代码。方式二VSCode Gradle 一键运行对于不习惯命令行的新手推荐使用 IDE 运行方式。在 VSCode 中打开 IDE/VSCode/Modular/Gradle/hellofx 项目安装 Java 扩展包和 Gradle for Java 扩展后打开 Gradle Projects 面板找到hellofx Tasks application点击run任务即可启动应用也可以打开 IDE/VSCode/Modular/Maven 版本体验用 Maven 管理 JavaFX 项目的方式。方式三模块化高级玩法如果对 JPMS 模块化感兴趣可以查看模块声明文件 module-info.java它通过requires javafx.controls声明依赖并配合jlink生成精简的自定义 JRE让你的 JavaFX 应用体积更小、启动更快。六、Stage、Scene、Label 三者关系一图流可以这样理解 JavaFX 入门时的三者关系Stage窗口最外层程序的门面Scene场景窗口里的内容区域管理根节点Label控件场景里的元素负责显示文字三者层层嵌套Stage包含SceneScene包含布局容器布局容器再放入Label等控件。搞懂这条链路JavaFX 入门的第一课就顺利通关了。七、下一步学什么跑通 HelloFX 之后可以继续挑战用VBox / HBox / BorderPane布局替换 StackPane练习多控件排列给 Label 添加 CSS 样式体验 JavaFX 主题定制尝试 FXML Controller 分离模式为大型项目打基础用 Gradle 的jlink任务打包免 JRE 的桌面应用想要获取全部示例代码可以执行git clone https://gitcode.com/gh_mirrors/samples5/samples克隆后对照本文提到的目录逐个运行动手实践才是掌握 JavaFX 最快的方式。祝你早日写出第一个属于自己的桌面应用【免费下载链接】samplesJavaFX samples to run with different options and build tools项目地址: https://gitcode.com/gh_mirrors/samples5/samples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价