我创建了一个swing GUI,并使用JavaFX创建了一个图形。我想通过点击swing GUI上的一个按钮来打开这个图形。我的密码在下面。谢谢你的帮助。
这就是我必须从swing GUI打开FX的内容。
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Test Graph = new Test();
Graph.GrpahScreen();
}
});FX类
public class Test extends Application {
@Override
public void start(Stage stage) {
// TODO
}
public static void main(String args []) {
launch(args);
}
}发布于 2016-10-31 17:37:23
Application类表示JavaFX应用程序。因为您正在编写一个Swing应用程序(其中嵌入了JavaFX内容),所以创建一个Application子类是没有意义的。
此外,强烈建议在同一个应用程序中同时使用 Stages和Swing JFrames而不是。您应该将JavaFX内容放置在JFXPanel中,并在JFrame中显示JFXPanel。您需要小心地遵守这两个工具箱的线程限制:和往常一样,Swing组件必须在AWT事件分派线程上创建,而JavaFX组件必须在JavaFX应用程序线程上创建。这些内容在 documentation中都有详细介绍,但本质上:
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JFrame frame = new JFrame();
JFXPanel jfxPanel = new JFXPanel();
Platform.runLater(() -> {
Parent root = ... ; // create JavaFX content, can be in a separate class
Scene scene = new Scene(root);
jfxPanel.setScene(scene);
});
frame.add(jfxPanel);
frame.setSize(...);
frame.setVisible(true);
}
});https://stackoverflow.com/questions/40343330
复制相似问题