我想把OpenJFX集成到我的Java 11代码中。在Windows10上使用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问题上。代码有问题吗?或JavaFX针对Java11报告的任何问题