如何使用高版本的jfx?
根据官网的需要手动引入jfx模块(运行参数:–module-path)
要知道高版本jfx已经集成了丰富的主流功能,例如视频编码,大多数音频播放格式
有些提供商已经把jfx集成到高版本的openjdk上了,例如:LibericaFX
https://bell-sw.com/pages/downloads
下载选择完整版的openjdk18就绑定了jfx
在idea中配置此jdk
只是绑定了jfx,运行时还需要引入对应的Maven依赖才能运行jfx
<dependencies>
<dependency>
<groupId>org.openjfxgroupId>
<artifactId>javafx-controlsartifactId>
<version>18.0.2version>
dependency>
<dependency>
<groupId>org.openjfxgroupId>
<artifactId>javafx-fxmlartifactId>
<version>18.0.2version>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.8.1version>
<configuration>
<source>17source>
<target>17target>
configuration>
plugin>
plugins>
build>
<repositories>
<repository>
<id>nexus-aliyunid>
<name>Nexus aliyunname>
<layout>defaultlayout>
<url>http://maven.aliyun.com/nexus/content/groups/publicurl>
<snapshots>
<enabled>falseenabled>
snapshots>
<releases>
<enabled>trueenabled>
releases>
repository>
repositories>
接着编写一个一个demo:
package top.lingkang.ui;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;
/**
* @author lingkang
* Created by 2022/8/16
*/
public class Demo02 extends Application {
@Override
public void start(Stage stage) throws Exception {
stage.setTitle("hello");
stage.setWidth(300);
stage.setHeight(250);
Label label = new Label("jdk18,一个集成了jfx的openjdk");
label.setFont(new Font("仿宋",14));
stage.setScene(new Scene(new HBox(label)));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
运行