JAVA17安装体验JFX17抢先体验
JAVA17安装体验JFX17抢先体验
java17版本是长期支持版,至少更新5年以上。而且商用免费!这里我就来体验一把。
一、下载配置 java 17
官网下载地址: 当前的版本是17.0.1 2021年11月14日13:37:42 下载zip版本,解压到C:Program FilesJavajdk-17.0.1,接着配置环境变量。
二、多jdk版本环境变量配置
由于我原来已经安装java8,需要做多环境变量设置。 1、创建一个:JAVA17=C:Program FilesJavajdk-17.0.1 2、创建一个:JAVA8=C:Program FilesJavajdk1.8.0_202 3、创建一个:JAVA_HOME=%JAVA17% 若想切java8只需要改下JAVA_HOME=%JAVA8% 如下: 配置环境变量:Path中添加:%JAVA_HOME%in、%JAVA_HOME%jrein 注意,环境变量不能放在最前面,即%JAVA_HOME%in这种不能在path的最前面,必须是非变量放前面,否则变量无效。我放在第三第四 此时:Win + R cmd: java -version 若不生效可以打开一个cmd:
set path=11 echo path
再关闭此cmd,重新打开cmd即可!以此做到刷新path的效果。 至此java17配置完毕,将Maven项目改一下: pom.xml
<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>17.0.1</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>17.0.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
刷新Maven,运行一个javafx发现会报缺少javafx组件: 若用idea2021.2.x版本,初始化JavaFX项目选择Maven可以正常运行,可惜我这是2020版本的IDEA,需要额外配置。
二、IDEA配置openjfx17
配置openjfx也可以参考: 我们知道,javafx已经在jdk11还是9、10哪个版本来着,将此作为独立的GUI维护,并推荐使用OpenJFX。OpenJFX的下载地址:我这里下载17.0.1的zip版本。 将OpenJFX17解压到C:Program FilesJavajavafx-sdk-17.0.1, 配置idea的application启动,添加启动参数,将模块引入: --module-path "C:Program FilesJavajavafx-sdk-17.0.1lib" --add-modules javafx.controls,javafx.fxml 启动
public class JavaFxDemo extends Application {
@Override
public void start(Stage stage) throws Exception {
// 定义一个标签,类似html中的span
Label label = new Label("hello world!");
// 将标签加入场景,场景类似 HTML中的 body, 将span放到body中
// 将场景放到stage中,类似HTML 中的将 body 放到 html标签里一样
stage.setScene(new Scene(label));
// 设置舞台的宽高标题
stage.setWidth(400);
stage.setHeight(100);
stage.setTitle("师姐,你好!");
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
