2012-11-27 75 views
0

可能重複:
How can I restart a Java application?創建清除按鈕

我在一個Java程序,這需要在一堆數值從用戶返回答案的工作。我有一個「清除」按鈕,使應用程序準備好一組新的輸入。所以我想要的是這個按鈕應該關閉當前正在查看的幀(創建一個窗口關閉事件等),然後調用main()函數來創建我的應用程序的新實例。我應該怎麼做?我試過,但它關閉一切,新的框架沒有顯示出來:

WindowEvent wev = new WindowEvent(this, WindowEvent.WINDOW_CLOSING); 
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(wev); 
main(newInstance); 

,也什麼工具包呢?爲此提出一些解讀。謝謝。

+2

你真正需要的應用程序的新實例?您是否應該通過清除任何文本字段並重新啓動來處理此問題? 我認爲,如果您每次在建立一趟主電源運行時最終都會遇到內存泄漏問題,請再次調用main。 你在使用鞦韆嗎? 將任何文本字段的文本恢復爲默認值時出現什麼問題? – ThePerson

+0

是的,但應用程序實際上很大,它有三個類和很多變量,我試過了。這令人困惑和疲憊。只是清除文本字段並將變量設置爲默認值不起作用。除此之外,我還在繪製一個面板,然後我必須調用repaint,然後執行很多工作。這很簡單:P –

+1

您是否使用過任何類型的編碼結構,例如MVC?我認爲,將來可能會使用真正的結構,以便您可以輕鬆完成這些任務。 我會發佈一個可能適合您的答案,但我擁有一個有效的結構,您可以根據需要創建新模型,視圖或控制器,而無需重新啓動應用程序。 – ThePerson

回答

0

根據我的意見我不認爲這是最佳做法,但它是可能的。

這一點已經在這裏找到答案: How can I restart a Java application?

我希望這有助於

+1

這不是一個答案,請將該帖子標記爲重複,然後將該問題鏈接到該問題。 – Kai

+0

謝謝,我之前沒有看到,我很欣賞這一點。我將它標記爲重複。希望這有助於海報。 – ThePerson

+0

你們沒有得到我,我不是要「重啓」我只是想做到這一點,這麼簡單:myFrameInstance.setVisible(false); \t \t main(newInstance); –