如何在Java中调用launch()
两次?
我有一个例外:
ERROR IN MAIN:java.lang.IllegalStateException:
Application launch must not be called more than once
答案 0 :(得分:3)
基于谷歌搜索错误消息字符串并阅读一些搜索结果,我相信你必须使用其中一个
javafx.application.Application.launch(...)
方法。方法的javadoc说明了这一点:
“启动独立应用程序。此方法通常从main方法()调用。不得多次调用它,否则将抛出异常。”
因此,如果我的猜测是正确的,您正在使用“启动”,答案是:您无法再拨打launch
两次。
(我打算阅读源代码,看看我是否能弄清楚为什么存在这种限制,但我找到代码的常规方法失败了。有谁知道为什么“通常的地方”没有出现索引JavaFX的源代码?)
如果您提供了更多信息,我们可能会建议另一种方法。
答案 1 :(得分:0)
它实际上不应该被调用两次,因为它主要是初始化应用程序组件,而不仅仅是你的类。您应该考虑在启动方法中添加一些状态对象以及多次“启动”您的函数的回调。
Launch
方法计算它被调用的次数,因为应用程序调用它的次数确实很危险。如果上面的某个人决定建立一个阻止这种行为的机制,你为什么要通过它来破坏它。