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

如何在Java中调用launch()两次?,java,runtime-error,Java,Runtime Error,如何在Java中调用launch()两次 我有一个例外,比如: ERROR IN MAIN:java.lang.IllegalStateException: Application launch must not be called more than once 它真的不应该被调用两次,因为它主要初始化应用程序组件,而不仅仅是您的类。您应该考虑在启动方法中添加一些状态对象和一个会多次启动您的函数的回调。 Launch方法计算它被调用的次数,因为应用程序多次调用它确实很危险。如果上面有

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

我有一个例外,比如:

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

它真的不应该被调用两次,因为它主要初始化应用程序组件,而不仅仅是您的类。您应该考虑在启动方法中添加一些状态对象和一个会多次启动您的函数的回调。
Launch
方法计算它被调用的次数,因为应用程序多次调用它确实很危险。如果上面有人决定设置一个机制来阻止这样的行为,你为什么要突破它。

通过谷歌搜索错误消息字符串并阅读一些搜索结果,我相信你一定是在使用

    javafx.application.Application.launch(...)
方法。对这些方法的研究表明:

“启动独立应用程序。此方法通常从main方法()调用。不能多次调用,否则将引发异常。

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


(我打算阅读源代码,看看是否能找出为什么会存在这种限制,但我通常的查找代码的方法失败了。有人知道为什么“通常的地方”似乎没有为JavaFX的源代码编制索引吗?)



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

尝试更好地描述问题。至少告诉我们您使用的是什么API以及它的
launch()
方法是什么类?!如果你给我们看一点你的代码,它会变得简单得多。你说的是
org.jdesktop.application.application#launch()
方法吗?你为什么要叫它两次?@maksimov-Aahh。。JSR-296再次。。我同意这是一个很好的可能性。今天可作为的一部分提供。该类调用一个内部类来确认您的猜测。