我已经广泛搜索了stackoverflow以获取有关此主题的帮助,但是Q& As我发现它已经过时了,并且当前版本的JDK(我目前使用的是7u51)的答案已经改变了。
请注意,我从未对Swing开始精通,但我相信我理解基础知识。 (我一直更专注于应用程序内部的肉,而不是GUI)。
我正在尝试使用第三方库。第三方库要求它的组件使用JFrame。
因此,我试图了解如何将JFrame嵌入到我的JavaFX应用程序中。有一个关于用javafx.ext.swing做某事的旧答案,但JavaFX中不再包含这个答案。
帮助?
==========
我还应该补充一点:我认为目前处于测试阶段的Java 8将基于此支持我需要的内容:http://docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm,但我需要看看是否有办法在不依赖于beta产品。
答案 0 :(得分:1)
没有任何问题。
我不知道你是否正在寻找。
JFrame frame = new JFrame();
final JFXPanel mainJFXPanel = new JFXPanel();
frame.getContentPane().add(mainJFXPanel);
Scene scene = new Scene(rootnode);
mainJFXPanel.setScene(scene);
答案 1 :(得分:1)
SwingNode
s JComponent
c s.setContent(c)
答案 2 :(得分:-1)
你不能在JavaFX 2.0中使用swing控件,因为javafx控件的最超级类是Node,而在swing中,大多数超类都是Component。早期版本的JavaFx是在java swing之上实现的,但是版本2.0是从swing中分离出来的。因此,JavaFX不再提供嵌入式摆动组件功能。