JavaFX 第一篇 Hello World
1、简介
JavaFX 是一个用于构建客户端应用程序的 Java 库,作为 Java 标准库的一部分(JDK 8 到 10),从 JDK 11 开始,JavaFX 将以独立模块发布,将不再包含在 JDK标准库中,他是 Java 应用程序开发的主要 GUI 库。
2、特性
- 支持 CSS 样式、动画和视觉特效
- FXML:基于 XML 的声明式 UI 定义语言
- Scene Builder:可视化布局设计工具
- WebView:集成 Web 内容的组件
- 多媒体支持:音频、视频和图像处理
- 3D 图形支持:三维场景渲染能力
- Windows、macOS、Linux 等平台上都可运行
3、基本架构组件
Stage:顶层容器,相当于应用程序的窗口
Scene:场景,Stage 中可以切换不同的 Scene
Scene Graph:场景图,一个树状结构,包含了所有 UI 元素
Nodes:节点,最重要的组件之一,绝大部分的控件都是Nodes的子类,它可以是控件、容器、形状等
4、工程搭建与第一个案例
(1)开发工具与版本
- 开发工具:IntelliJ IDEA 2020.2.3
- Java版本:JDK8
- JavaFX版本:8(8版本的JDK已经内置了javaFx,JDK11以后,JavaFX成为一个独立的模块发布)
(2)工程搭建
(3)简单示例
/*** @description: javafx的第一个示例 hello world* @author: HK* @since: 2025/4/23 15:06*/
public class Demo extends Application { // 类需要集成javaFx的Application,并重写start方法public static void main(String[] args) {// 启动类 javafx启动不是直接调用start()方法,而是调用Application的launch()方法,Application内部会自动调用start()方法launch();}@Overridepublic void start(Stage primaryStage) throws Exception {// primaryStage窗体,Application已经创建了一个默认的窗体,我们也可以自己自定义创建// 创建一个text节点Text text = new Text("hello javafx");// 创建一个根节点布局 并将节点放入布局BorderPane pane = new BorderPane(text);// 将布局放入场景Scene scene = new Scene(pane);// 将场景放入窗体primaryStage.setScene(scene);// 设置窗体大小primaryStage.setWidth(500);primaryStage.setHeight(500);// 设置窗体的标题primaryStage.setTitle("hello world");// 设置窗体显示primaryStage.show();}
}