赞
踩
个人从事java开发很多年,但一直都是在web应用上玩来玩去,心血来潮,猛然想到像DBeaver、finalshell、Behinder(冰蝎)、BurpSuite、Jmeter、IDEA等等这类比较知名软件都是使用java语言编写的桌面应用,那么java是否有更好的桌面应用开发的框架呢?
打开IDEA点击File-> new -> Project
左边选择JavaFX,右边配置环境,个人偏好于JDK17,号称是目前(2022)最快的LTS版本,且免费。
这个是开源架构,需要的可以直接勾选
创建成功后会有一个hello-view.fxml文件,这就是一个Scene(场景),可以使用Scene Builder打开。
Scene Builder是一个官方推荐的绘图软件,可以绘制窗口样式。这相对于是awt、Swing纯代码绘图的架构是一种进步。
运行程序方式很多,直接敲命令、运行Main方法、双击右边javafx:run都可以。本文使用的是命令,进入根目录下
mvnw clean javafx:run
这样可以顺便校验了你本地环境,方便下面打包成exe文件使用
此时可以看到已经报错
原因是我系统变量jdk版本不是17.配置jdk17后,重启IDEA再次运行命令
执行成功。下面打包,直接运行
mvnw clean javafx:jlink
此时已经生成app文件夹,还贴心的生成了app.zip压缩包。其中包含了jre,总共大小才70多M大小。应该是自动剔除了不需要用到的包或类。
进入bin目录下运行app.bat
可以看到编写的窗口,但这并不是我们想要的exe,而且可以看到还拖着一个命令提示符。
下面我们来转化成exe执行文件。在根目录下运行
jpackage --name test --type app-image -m com.example.openjfx17/com.example.openjfx17.HelloApplication --runtime-image .\target\app\
进入文件夹,运行test.exe执行命令。
运行成功,而且没有之前命令行提示符。大功告成!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。