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