2013-09-21 129 views
0

我正在使用java应用程序,其中我正在使用java swing表单和javafx FXML stage.I新来javafx.Now在我的应用程序中我调用javafx fxml舞台有控制器,从一个秋千form.I'm调用fxml阶段从挥杆形式点击这样一个按钮---- Application.launch(MyFxml.class);不止一次运行javafx应用程序线程

这可以正常工作。但是,当我通过以下方式单击按钮并尝试访问javafx fxml阶段时,我又从fxml阶段返回到了摆动窗体,我收到异常。 new MySwingform()。setVisible(true);

下面的代码片段被用来调用摆动形式---

public void goBack(ActionEvent ev){ 

    Platform.exit(); 

    new MySwingform().setVisible(true); 
} 

我得到的例外是“应用程序启动不能被调用一次以上”。所以,如何摆脱这一点,以便我们可以反复运行javafx应用程序线程而不会出现任何错误?预先感谢您的有用建议。

回答

4

要在swing应用程序中显示JavaFX组件,请使用you should place them on JFxPanel而不是启动新的fx应用程序。

为了做到相反(在Java FX应用程序中嵌入摆动组件),您需要Java FX 8's SwingNode

+0

谢谢@ assylias,但我仍然想要实现这种方式。在互联网上搜索我了解服务和任务以获得并发性。但我很难实现这一点到我的程序。 –

+1

@HimanshuGogoi调用'Application.launch'启动FX线程 - 并且不能启动多个FX线程。所以你必须适应API的设计方式。 – assylias

相关问题