JavaFX запустить другое приложение

Я ломал голову с JavaFx ...

Это работает для случаев, когда нет запущенных приложений:

public class Runner {

    public static void main(String[] args) {
        anotherApp app = new anotherApp();
        new Thread(app).start();
    }
 }

public class anotherApp extends Application implements Runnable {

    @Override
    public void start(Stage stage) {
    }

    @Override
    public void run(){
        launch();
    }
}

Но если я сделаюnew Thread(app).start() в В другом приложении я получаю исключение о том, что я не могу сделать два запуска.

Также мой метод вызывается наблюдателем в другом приложении, например так:

@Override
public void update(Observable o, Object arg) {
    // new anotherApp().start(new Stage());
            /* Not on FX application thread; exception */

    // new Thread(new anotherApp()).start();
            /* java.lang.IllegalStateException: Application launch must not be called more than once */
}

Это внутри класса JavaFX, такого как этот:

public class Runner extends Applications implements Observer {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage){
    //...code...//
    }
    //...methods..//
    //...methods..//

    @Override
    public void update(Observable o, Object arg) {
    //the code posted above//
    }
}

Я пытался использовать ObjectProperties со слушателями, но это не сработало. Мне нужно каким-то образом запустить этот новый этап из метода обновления из java.util.observer.

Любые предложения приветствуются. Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос