javafx 案例_JavaFX学习积累(5)

本文介绍了使用JavaFX进行桌面程序开发的原因,包括其跨平台能力、丰富的组件和CSS支持。详细讲述了JavaFX环境配置的过程,涉及JavaPackager、Inno Setup和WiX Toolset的安装与配置,并提供了maven配置文件的示例,指导如何通过mvn package命令生成应用打包文件。
摘要由CSDN通过智能技术生成

f9cecc4d80a8232f5b1f9b924874547d.png
最近在学javafx,为了保证自己的学习质量,特将学习到的东西进行整理。
特此说明:如有雷同,纯属我抄你;告诉我,我就删。
特此说明:我不是BUG创造者,我只是BUG的搬运工。

用过C#写过一套桌面程序,也想过用Delphi或者其他的语言写桌面。比如一些比较火的用前端编写,然后实际上是外包装上放一个浏览器的替换做法,还有Python和QT的结合写。

目前选择了用JavaFX来学习,主要解决了我的几个痛点:

  1. 跨平台。
  2. 组件既可拖拽、也可手写。JDK封装的还是很不错的,组件功能强大。
  3. 样式表,样式表,样式表。居然可以用CSS来写样式,有什么比这个更爽的。

学完Application、学完Stage之后。急火攻心的我当然想要尝试一下编译然后去运行一下试试。

一、环境配置

官网上已经有一个推荐的好方法。JavaPackager,但是使用JavaPackager之前,需要提前安装好几个东西

1.inno setup。最早在1997年就发布了,现在一直更新着,非常好的免费一个windows安装程序制作器。安装完成之后,需要将安装路径添加至环境变量Path中。

这个主要是为了“iscc”这个命令行能够执行

第一步官网下载,必须是inno setup6.0以上版本,最新版本最好。(我起初用5.5版本,一直报错,好像是对iss文件的解析6.0有了新的方式)

第二步,本地安装,安装路径随意。

第三步,配置环境变量。

0915b8cf746a53e3a9da0fd0193af549.png

d700a672972f46167285bbdd2cf55337.png

然后将inno setup的安装路径填进去。

2.WiX Toolset。一组最强大的工具集来帮助你创建 Windows 安装包。

这个主要是为了“candle”和"light"两个命令行能够执行

第一步,官网下载,最新版本最好,因为安装包是在github上,有时候网络不好,下载有点慢。

第二步,本地安装,好像没有选择安装路径的样子,反正我是默认安装在了C盘。在C:Program Files (x86)WiX Toolset v3.11bin上,每个人的也许有不同。

第三步,配置环境变量,方法同上。

二、maven配置文件

JavaPackager本次使用的JavaFX官网推荐的。详情可查看JavaPackager

首先,项目要添加maven。

1fee69ddad0108d338cf431dbc14157a.png

其次,在pom.xml中按照以下案例填写。

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<groupId>io.github.fvarrui</groupId>
	<artifactId>HelloWorld</artifactId>
	<version>1.0.0</version>

	<properties>
		<maven.compiler.target>8</maven.compiler.target>
		<maven.compiler.source>8</maven.compiler.source>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<exec.mainClass>io.github.fvarrui.helloworld.Main</exec.mainClass>
	</properties>

	<licenses>
		<license>
			<name>GPL-v3.0</name>
			<url>http://www.gnu.org/licenses/gpl-3.0.tx</url>
		</license>
	</licenses>

	<build>
		<plugins>
			<plugin>
				<groupId>io.github.fvarrui</groupId>
				<artifactId>javapackager</artifactId>
				<version>1.2.0-SNAPSHOT</version>
				<configuration>
					<bundleJre>true</bundleJre>
					<additionalResources>
						<additionalResource>info.txt</additionalResource>
					</additionalResources>
					<generateInstaller>false</generateInstaller>
					<createZipball>false</createZipball>
					<createTarball>false</createTarball>
				</configuration>
				<executions>
					<execution>
						<id>package-for-mac</id>
						<phase>package</phase>
						<goals>
							<goal>package</goal>
						</goals>
						<configuration>
							<platform>mac</platform>
							<jdkPath>C:UsersfvarruiGitHubjdksadoptopenjdkjdk-13.0.2+8-mac</jdkPath>
						</configuration>
					</execution>
					<execution>
						<id>package-for-linux</id>
						<phase>package</phase>
						<goals>
							<goal>package</goal>
						</goals>
						<configuration>
							<platform>linux</platform>
							<jdkPath>C:UsersfvarruiGitHubjdksadoptopenjdkjdk-13.0.2+8-linux</jdkPath>
						</configuration>
					</execution>
					<execution>
						<id>package-for-windows</id>
						<phase>package</phase>
						<goals>
							<goal>package</goal>
						</goals>
						<configuration>
							<platform>windows</platform>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>com.cedarsoft.commons</groupId>
			<artifactId>collections</artifactId>
			<version>8.1.1</version>
		</dependency>
		<dependency>
			<groupId>ai.djl.hadoop</groupId>
			<artifactId>hadoop</artifactId>
			<version>0.7.0</version>
		</dependency>
	</dependencies>

</project>

然后调出terminal控制台,输入mvn package

4f7e95115721c231b02dfcf5f622e9dc.png

静静等待。最后就可以看到这里面就有很多好东西了

4d5e921db681007b9c7e1b7c059a548b.png
我不是BUG创造者,我只是BUG的搬运工。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值