2011-10-06 30 views
2

我試圖在一個程序中設置一個重置方法,該方法基本上創建了一個自己的替代品,然後關閉它自己,讓替代品運行。我知道通常要做到這一點,我可以使用一些外部驅動程序類,並且沒有問題,但是我看到是否有可能用它自己創建一個完全獨立的類實例。用一個新的實例代替正在運行的程序

如果我創建一個新實例,然後退出現有實例,那麼新創建的實例也會退出。我會想象這是可能的,但在這一點上我找不到任何方法去解決它。

我正在使用的特定程序是一個Swing GUI,我已將默認關閉操作設置爲EXIT_ON_CLOSE。

我希望這樣做的原因是,用一個新窗口代替當前窗口會比通過全部窗口更新並將所有窗口重置爲默認窗口更簡單。

另外在純粹的理論筆記,我想找出我這是可能的。

+0

雖然這個設計的優點可以辯論,但我很好奇,知道它是否可能。 –

+0

我不明白爲什麼不。當然,我不能退出JVM,但他原來的實例可能會消失,被解除引用。 –

+0

如果可以的話,請告訴我們關於你的程序的更多細節,它做了什麼,你想要重置/替換以及做什麼。你可以告訴我們的相關信息越多越好。 –

回答

2

快速解決方案:不要使用EXIT_ON_CLOSE作爲默認窗口關閉選項。檢查the API並選擇一個更好的,如JFrame.DISPOSE_ON_CLOSE。

幽州:

,我想這樣做的原因是,它會更簡單到只用一個新的替換當前窗口比起來,通過對走一路和復位一切都恢復爲默認。

這會導致更長的潛在討論:您可能不想這樣做,退出一個窗口並彈出另一個窗口。除了煩人之外,可能還有更好的方法來達到這個目的。首先,你的圖形用戶界面應該基於模型,如果編寫得很好,重置模型應該相當容易。如果不是,那麼考慮重構它,這很容易。我們可以幫助你。

相關問題