2011-10-06 60 views
2

我试图在一个程序中设置一个重置方法,该方法基本上创建了一个自己的替代品,然后关闭它自己,让替代品运行。我知道通常要做到这一点,我可以使用一些外部驱动程序类,并且没有问题,但是我看到是否有可能用它自己创建一个完全独立的类实例。用一个新的实例代替正在运行的程序

如果我创建一个新实例,然后退出现有实例,那么新创建的实例也会退出。我会想象这是可能的,但在这一点上我找不到任何方法去解决它。

我正在使用的特定程序是一个Swing GUI,我已将默认关闭操作设置为EXIT_ON_CLOSE。

我希望这样做的原因是,用一个新窗口代替当前窗口会比通过全部窗口更新并将所有窗口重置为默认窗口更简单。

另外在纯粹的理论笔记,我想找出我这是可能的。

+0

虽然这个设计的优点可以辩论,但我很好奇,知道它是否可能。 –

+0

我不明白为什么不。当然,我不能退出JVM,但他原来的实例可能会消失,被解除引用。 –

+0

如果可以的话,请告诉我们关于你的程序的更多细节,它做了什么,你想要重置/替换以及做什么。你可以告诉我们的相关信息越多越好。 –

回答

2

快速解决方案:不要使用EXIT_ON_CLOSE作为默认窗口关闭选项。检查the API并选择一个更好的,如JFrame.DISPOSE_ON_CLOSE。

幽州:

,我想这样做的原因是,它会更简单到只用一个新的替换当前窗口比起来,通过对走一路和复位一切都恢复为默认。

这会导致更长的潜在讨论:您可能不想这样做,退出一个窗口并弹出另一个窗口。除了烦人之外,可能还有更好的方法来达到这个目的。首先,你的图形用户界面应该基于模型,如果编写得很好,重置模型应该相当容易。如果不是,那么考虑重构它,这很容易。我们可以帮助你。

相关问题