-4

如何launch()在Java中调用两次?

我得到了一个例外,例如:

ERROR IN MAIN:java.lang.IllegalStateException: 
    Application launch must not be called more than once
4

2 回答 2

3

基于谷歌搜索错误消息字符串并阅读一些搜索结果,我相信您必须使用其中一种

    javafx.application.Application.launch(...)

方法。这些方法的javadoc是这样说的:

“启动一个独立的应用程序。这个方法通常是从 main method() 调用的。它不能被多次调用,否则会抛出异常。

因此,如果我对您正在使用的“启动”的猜测是正确的,那么答案是:您不能调用launch两次。


(我打算阅读源代码,看看我是否能弄清楚为什么存在这个限制,但我查找代码的正常方法失败了。有谁知道为什么“通常的地方”似乎没有索引源代码对于 JavaFX?)


如果您提供了更多信息,我们可能会建议另一种方法。

于 2012-09-15T11:36:38.107 回答
0

它真的不应该被调用两次,因为它主要初始化应用程序组件,而不仅仅是你的类。您应该考虑在启动方法和回调中添加一些状态对象,以多次“启动”您的函数。

Launch方法计算它被调用的次数,因为应用程序调用它更多次真的很危险。如果上面的某个人决定设置一个机制来阻止这种行为,你为什么要通过它来突破。

于 2012-09-15T11:23:47.583 回答