2013-09-21 46 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

相關問題