您的位置:首页 > 财经 > 金融 > 第一个 JavaFX 应用程序

第一个 JavaFX 应用程序

2024/12/23 7:16:58 来源:https://blog.csdn.net/lrh122800/article/details/139726473  浏览:    关键词:第一个 JavaFX 应用程序

在本教程中,我将向你展示如何创建您的第一个 JavaFX 应用程序。因此,本教程既可以向你介绍核心 JavaFX 概念,也可以为你提供一些 JavaFX 代码,你可以将其用作你自己的实验的模板。

JavaFX 应用程序类

JavaFX 应用程序需要一个主启动类。该类必须扩展 javafx.application.Application自 Java 8 以来 Java 中的标准类。

这是一个示例子类Application:

import javafx.application.Application;public class MyFxApp extends Application {}

实现 start()

JavaFXApplication类的所有子类都必须实现该类的抽象start() 方法Application(或者是其Application自身的抽象子类)。

该start() 方法在 JavaFX 应用程序启动时被调用。这是上面的示例,但已start()实现方法:

import javafx.application.Application;
import javafx.stage.Stage;public class MyFxApp extends Application {@Overridepublic void start(Stage primaryStage) throws Exception {primaryStage.setTitle("My First JavaFX App");primaryStage.show();}}

该start()方法采用类型的单个参数Stage。该阶段是显示 JavaFX 应用程序的所有可视部分的地方。该Stage对象由 JavaFX 运行时为您创建。

上面的例子在舞台对象上设置了一个标题,然后调用show()它。这将使 JavaFX 应用程序在窗口中可见,并且窗口顶部栏中的标题可见。

如果您不调用show()舞台对象,则什么都看不到。没有打开任何窗口。如果您的 JavaFX 应用程序在启动时不可见,请检查您是否记得 Stage show()从内部调用该方法start()。

添加一个 main() 方法

您实际上可以在没有main()方法的情况下启动 JavaFX 应用程序。但是,如果您想将命令行参数传递给应用程序,您需要添加一个main()方法。一般来说,我更喜欢添加一个main()方法,因为它可以更明确地说明哪些代码启动了应用程序。

这是上面main()添加了一个方法的示例:

import javafx.application.Application;
import javafx.stage.Stage;public class MyFxApp extends Application {@Overridepublic void start(Stage primaryStage) throws Exception {primaryStage.setTitle("My First JavaFX App");primaryStage.show();}public static void main(String[] args) {Application.launch(args);}}

如您所见,该方法使用命令行参数main()调用静态方法。launch()该launch()方法是位于Application 类中的静态方法。此方法启动 JavaFX 运行时和您的 JavaFX 应用程序。

该launch()方法将检测从哪个类调用它,因此您不必明确告诉它要启动哪个类。

这就是创建 JavaFX 应用程序所需的全部内容。这很简单,不是吗?现在您已经准备好开始使用 JavaFX 了!

这是运行上述 JavaFX 应用程序后打开的窗口的屏幕截图:

添加场景

前面的 JavaFX 示例仅打开一个窗口,但在此窗口内不显示任何内容。要在 JavaFX 应用程序窗口中显示某些内容,您必须Scene向Stage对象添加一个。这是在start()方法内部完成的。

要在 JavaFX 应用程序中显示的所有组件都必须位于场景中。“舞台”和“场景”的名称灵感来自剧院。一个舞台可以展示多个场景,就像在戏剧中一样。类似地,计算机游戏可以有菜单场景、游戏场景、游戏结束场景、高分场景等。

这是一个如何将Scene对象添加到的示例Stage以及一个简单的 Label:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;public class MyFxApp extends Application {@Overridepublic void start(Stage primaryStage) throws Exception {primaryStage.setTitle("My First JavaFX App");Label label = new Label("Hello World, JavaFX !");Scene scene = new Scene(label, 400, 200);primaryStage.setScene(scene);primaryStage.show();}public static void main(String[] args) {Application.launch(args);}
}

此示例中添加了三行。首先Label创建一个对象。然后Scene 创建一个对象,传递Labelas 参数以及表示场景宽度和高度的两个参数。

构造函数的第一个参数是场景图Scene的根元素。场景图是一个类似于对象结构的图形,包含要在 JavaFX 应用程序中显示的所有可视组件 - 例如 GUI 组件。

width 和 height 参数设置 JavaFX 窗口打开时的宽度和高度,但用户可以调整窗口大小。

以下是打开的窗口在添加Scene和Label添加后的外观:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com