我试图将javaFX元素放在我的swing应用程序中。问题是:它只显示一次。再次按下按钮后,没有任何显示。
这是我的javafx类:
public class FXInSwing extends JPanel{
JFXPanel panel;
Scene scene;
StackPane stack;
Text hello;
boolean wait = true;
public FXInSwing(){
panel = new JFXPanel();
Platform.runLater(new Runnable(){
@Override
public void run() {
stack = new StackPane();
scene = new Scene(stack,300,300);
hello = new Text("Hello");
scene.setFill(Color.BLACK);
hello.setFill(Color.WHEAT);
hello.setEffect(new Reflection());
panel.setScene(scene);
stack.getChildren().add(hello);
wait = false;
}
});
add(panel);
//this.getContentPane().add(panel);
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300, 300);
this.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
new FXInSwing();
}
});
}
}
这就是我把这个对象放在我的应用程序中的地方:
gbc.gridx=1;
combinedPanel.add(new FXInSwing(),gbc);
add(combinedPanel);
有人能帮助我吗?我是JavaFX的新手