2013-09-21 4 views
0

Я работаю над java-приложением, где я использую java swing forms и javafx FXML stage.Я новичок в javafx.Now в своем приложении Я вызываю javafx fxml stage с контроллером, из формы качания. Я вызываю этап fxml из формы качания при нажатии на кнопку наподобие этого: Application.launch (MyFxml.class);Запуск нити приложения javafx более одного раза

Это работает отлично. Но когда я возвращаюсь снова с этапа fxml в форму качания, нажав кнопку следующим образом и попытаюсь получить доступ к jakafx fxml stage, я получаю исключения. новый MySwingform(). SetVisible (true);

Следующий фрагмент кода используется для вызова формы качели ---

public void goBack(ActionEvent ev){ 

    Platform.exit(); 

    new MySwingform().setVisible(true); 
} 

Исключение я получаю «Запуск приложения не должен быть вызван более чем один раз» .so, Как избавиться от этого, чтобы мы могли запускать поток приложений javafx снова и снова без каких-либо ошибок? Спасибо заранее за ваши полезные предложения.

ответ

4

Чтобы показать компоненты JavaFX в приложении swing, you should place them on JFxPanel вместо запуска нового приложения fx.

Чтобы сделать обратное (вставлять компоненты поворота в приложение Java FX), вам нужно Java FX 8's SwingNode.

+0

Спасибо @ assylias, но все же я хочу реализовать этот путь. В поисках через Интернет я узнал о сервисе и задаче, чтобы получить параллелизм. Но мне трудно реализовать это в моей программе. –

+1

@HimanshuGogoi Вызов 'Application.launch' запускает FX Thread - и вы не можете запускать более одного потока FX. Поэтому вам нужно адаптироваться к тому, как проектируется API. Я боюсь. – assylias

Смежные вопросы