如何从java类调用javafx类?

时间:2016-04-22 08:36:44

标签: java multithreading

我从我的java类调用了另一个javafx类作为后台线程。

     while(true)
     {
    ....
    .... (build new arguments)
    ....

    Thread t = new Thread() {
        public void run() {
            ChartData.main(arguments);
        }
    };
    t.start();
    }

我收到错误:

  

线程中的异常"线程-7" java.lang.IllegalStateException:不能多次调用应用程序启动       在om.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:94)       在com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:75)       在javafx.application.Application.launch(Application.java:209)

带有javafx类的

我只构建了一个散点图和 我的所有其他对象都已在java类中实现。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这不是JavaFX的工作方式。

您有两个选择:

  1. 使您的程序成为正确的JavaFX应用程序,只需更新绘图,GUI或其他内容即可。 (您不需要额外的线程:只需使用invokeLater向UI线程提交内容。)

  2. 在自己的进程中运行单独的JavaFX而不是线程,请参阅ProcessBuilder。虽然这更干净,但您必须考虑如何传递数据以显示给流程