【发布时间】:2018-11-16 18:03:52
【问题描述】:
我想将 openjfx 集成到我的 Java 11 代码中。在 Windows 10 上使用 IntelliJ IDEA 2018.2.6,我创建了一个测试项目并尝试了以下代码
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.control.TabPane;
public class Java11FXTestApplication {
public static void main(String[] args) {
JFXPanel dummyPanel;
TabPane dummyTabPane;
Scene dummyScene;
System.out.println("Creating JFX Panel");
dummyPanel = new JFXPanel();
System.out.println("Creating TabPane");
dummyTabPane = new TabPane();
System.out.println("Creating Scene");
dummyScene = new Scene(dummyTabPane);
System.out.println("Setting Scene");
dummyPanel.setScene(dummyScene); //Freezing here
System.out.println("Scene Created");
}
}
此代码在 setScene() 方法调用中冻结。 我尝试调试它,发现代码在 JFXPanel.setScene 方法中的 secondaryLoop.enter() 调用中无限期地等待。任何想法为什么?
此代码在 JDK-8 中运行良好,但不适用于 java-11.0.1。
我在这个问题上一无所获,有点卡在 Java11 JavaFX 问题上。代码有问题吗?或 java11 的 javafx 的任何报告问题
【问题讨论】:
-
您使用的是哪个版本的openjfx?哪个模块/包导出类
import javafx.embed.swing.JFXPanel;? -
使用 openjfx-11.0.1_windows-x64_bin-sdk
-
@nullpointer
JFXPanel由javafx.swing模块导出。
标签: java windows java-11 openjfx