【发布时间】:2019-04-16 19:50:14
【问题描述】:
我是 Java FX 应用程序的初学者。我创建了一个简单的项目,我想在其中使用 Java 主应用程序运行两个 Java FX 实例。
public class InfoMain {
public static void main(String args[]) throws Exception {
Application.launch(CxiC.class, args);
Application.launch(BiC.class, args);}
BiC 类是示例应用程序,而我将 CxiC 类的文本更改如下:
public class CxiC extends Application{
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Say 'Hello budapest'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello budapest!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}}
当我执行应用程序时,BiC 类的消息中会出现以下屏幕。但我希望两个屏幕同时出现。有什么建议吗?。
基于 cmets,我修改了我的代码,但仍然显示 Hello World 消息。即使我已经从我的 Java 主方法类中删除了这两个实例,消息也是一样的。 Java 应用程序似乎不接受 JavaFX 参数。 提前致谢。
【问题讨论】:
-
如何在一个线程中创建每个实例? (每个线程一个)
-
Application.launch()阻塞,直到 javafx 工具包关闭。这就是为什么您没有立即看到第二个launch调用的结果的原因。请注意,第二次launch调用的结果将是一个例外,请参阅重复链接。 -
所有链接的答案都是有效的,如果这仍然不适合您 Yatish,请创建一个新问题,其中包含您的新代码不起作用,否则,您将无能为力无法帮助调试您看不到的代码。