【发布时间】:2011-10-06 07:16:58
【问题描述】:
我正在尝试将 JFXPanel 添加到我的 JFrame。我正在使用 Netbeans 和 Netbeans 的 Swing GUI Builder。当我运行它时,我没有收到任何错误,并且 JFrame 已成功创建,但带有文本的 JFXPanel 没有出现。
这是我的代码:
public class TestingFX {
private static void initJFrame() {
NewJFrame frame = new NewJFrame();
final JFXPanel fxPanel = new JFXPanel();
frame.add(fxPanel);
frame.setVisible(true);
Platform.runLater(new Runnable() {
@Override
public void run() {
fxPanel.setScene(createScene());
}
});
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
initJFrame();
}
});
}
public static Scene createScene() {
Text text = new Text("Hello World");
text.setFont(new Font(24));
text.setEffect(new Reflection());
BorderPane pane = new BorderPane();
pane.setCenter(text);
Scene scene = new Scene(pane);
return scene;
}
}
为什么它不起作用?我做错了吗?
【问题讨论】:
-
我从来没有使用过JavaFX,但是我总是听到将Swing与JavaFX混合使用的负面结果,在tihs论坛,NetBeans论坛上搜索..
-
@Dorothy,我的回答对你有帮助吗?
-
@Moonbeam 是的。我刚刚实现了您的代码并且它有效。然后我用我的 JFrame (NewJFrame) 替换了 JFrame,并将
outerFX.add(javafxPanel, BorderLayout.CENTER);和Application.launch (Demo.class, null);添加到我的 outerFX JPanels 自定义代码中。经过一些调试后,我以正确的顺序得到了它并且它起作用了。谢谢! -
@Moonbeam 当然。但如果你给我一天的时间,我会做到的。 :D
标签: java swing desktop-application gui-builder javafx-2