(java在线翻译中文)(java的中文翻译)

JavaFX开发环境搭建

0.前提条件:

  • 安装了JDK,并添配置PATH环境变量
  • 安装了maven
  • 安装了IDEA

这里使用jdk19 + maven3.8.2 + idea。

1.使用idea创建maven项目

2.修改pom.xm,添加maven-compiler-plugin,以及javafx相关依赖

(java在线翻译中文)(java的中文翻译)

HelloWorld示例代码编写

0.创建类HelloWorld,继承Application,重写其start方法

每个JavaFX应用,都派生自Application。start方法是JavaFX应用的入口

(java在线翻译中文)(java的中文翻译)

1.在start方法中,编写以下代码

其中,涉及到JavaFX中关键的几个概念:

  • Stage,翻译为中文是舞台的意思,表示一个窗口。start方法中的stage参数,是由JavaFX自动创建并传递的。也可以手动new多个Stage,然后调用其show方法显示出来
  • Scene,翻译为中文是场景的意思,是JavaFX中一切容器组件的载体,容器组件只有在添加到Scene中后,才能进行显示。而Scene必须添加到Stage中,同一时刻,一个Stage中只能设置一个Scene,可以在应用运行的过程中设置为其它的Scene,已实现页面切换(不推荐,比较耗费性能,推荐的做法是设置Scene的root属性)
(java在线翻译中文)(java的中文翻译)

上面的代码中:

  • 创建了一个Label组件,一个StackPane容器,然后将Label添加到StackPane容器中;
  • 创建了一个Scene,其root设置为StackPane容器,并设置了其宽高尺寸;
  • 将Scene设置为Stage要展示的内容;
  • 最后,调用Stage的show方法,显示界面

2.运行HelloWorld

如果在此时直接运行HelloWorld,将会报错:

(java在线翻译中文)(java的中文翻译)

这是因为JDK9+之后,JavaFX是以模块的方式引入的。所以,我们的项目,也需要启用模块系统。在与顶层包同级的目录,创建 module-info.java 文件,内容如下:

(java在线翻译中文)(java的中文翻译)

再次运行代码,将看到如下界面:

(java在线翻译中文)(java的中文翻译)

3.补充

细心的同学会发现,上面的HelloWorld示例中,并没有main方法,可能会疑惑,它是怎么启动的?实际上,JavaFX应用中,main方法不是必须的,在JavaFX打包工具创建的jar文件中,自动嵌入了JavaFX启动器。当然,推荐的做法是提供一个main方法,手动调用Application的launch方法启动应用

(java在线翻译中文)(java的中文翻译)

另外,因为有一些第三方库没有启用模块系统,会导致在打包JavaFX应用的时候出现错误,解决起来比较麻烦。简单的解决办法是,我们也不启用模块系统,将module-info.java文件删除,另外再新建一个类,这里叫做Launcher,作为程序入口,专门用来启动JavaFX应用:

(java在线翻译中文)(java的中文翻译)

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者月永会云力所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(java在线翻译中文)(java的中文翻译)
本文链接:https://www.51qsb.cn/article/m9fp1.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-06-30
下一篇2023-06-30

你可能还想知道

发表回复

登录后才能评论