JavaFX 应用程序结构

2024 年 8 月 29 日 | 阅读 2 分钟

JavaFX 应用程序在层次结构上分为三个主要组件,即 Stage、Scene 和节点。我们需要在每个 JavaFX 应用程序中导入 javafx.application.Application 类。这为 JavaFX 应用程序提供了以下生命周期方法。

  • public void init()
  • public abstract void start(Stage primaryStage)
  • public void stop()

为了创建一个基本的 JavaFX 应用程序,我们需要

  1. javafx.application.Application 导入到我们的代码中。
  2. Application 继承到我们的类中。
  3. 覆盖 Application 类的 start() 方法。

阶段

JavaFX 应用程序中的 Stage 类似于 Swing 应用程序中的 Frame。它充当所有 JavaFX 对象的容器。 Primary Stage 由平台在内部创建。其他阶段可以进一步由应用程序创建。 primary stage 对象被传递到 start 方法。我们需要调用 show 方法来显示我们的 primary stage。 最初,primary Stage 看起来像这样。


JavaFX Application Structure Stage

但是,我们可以将各种对象添加到这个 primary stage。 只能以分层方式添加对象,即首先将 scene graph 添加到此 primary stage,然后该 scene graph 可以包含节点。 节点可以是用户界面的任何对象,如文本区域、按钮、形状、媒体等。

场景 (Scene)

Scene 实际上保存了 JavaFX 应用程序的所有物理内容(节点)。 Javafx.scene.Scene 类提供了处理 scene 对象的所有方法。 创建 scene 对于可视化 stage 上的内容是必要的。

在一个实例中,scene 对象只能添加到一个 stage。 为了在我们的 JavaFX 应用程序中实现 Scene,我们必须在我们的代码中导入 javafx.scene 包。 可以通过创建 Scene 类对象并将布局对象传递到 Scene 类构造函数来创建 Scene。 我们将在稍后详细讨论 Scene 类及其方法。

场景图

Scene Graph 存在于层次结构的最低层。 它可以被看作是各种节点的集合。 节点是在 stage 上可视化的元素。 它可以是任何按钮、文本框、布局、图像、单选按钮、复选框等。

这些节点以树形结构实现。 在 scene graph 中总是有一个根。 这将充当 scene graph 中所有其他节点的父节点。 但是,此节点可以是 JavaFX 系统中可用的任何布局。

叶节点存在于树形结构的最低层。 scene graph 中存在的每个节点都代表 javafx.scene 包的类,因此我们需要将该包导入到我们的应用程序中,以便创建一个功能齐全的 javafx 应用程序。


JavaFX Application Structure Scene Graph