簡體   English   中英

我如何關閉框架卻又打開新框架?

[英]how do i close a frame yet open a new frame?

我如何關閉框架卻又打開新框架?

我有一個框架,(幫助)

當我單擊菜單項時,我想打開(mainForm)退出幫助。

new mainForm().setVisible(true); System.exit(0);

我知道這會關閉整個程序,但是我如何才能只關閉當前幀

謝謝

如果您不再想要使用框架,則可以使用frame.dispose()

如果只想隱藏它,請使用frame.setVisible(false)

如果擴展了Frame並嘗試從其內部關閉它,請使用this.disposethis.setVisible(false)

您應該重新考慮您的要求。 對於用戶而言,最好同時顯示該程序和幫助窗口。 在顯示幫助屏幕時關閉主窗口,反之亦然,這對可用性真的非常不利 -您不應該這樣做。 我們使用基於窗口的GUI已有30年了-在屏幕上同時顯示幾個窗口就是他們的目的!

我認為您應該使用setVisible(false)隱藏不希望顯示的框架。 System.exit(0)停止JVM結束整個程序。

簡而言之,setVisible的語義與啟動/停止應用程序無關。

如果要啟動整個新應用程序,則必須查看Runtime.exec()。 我真的不知道是否可以通過exit()關閉父進程(“幫助”應用程序)。

假設您是這樣創建框架的:

 JFrame mainframe = new JFrame("Radio Notes");
//show Frame
mainframe.setVisible(true);
//close the frame  
mainframe.dispose();

嘗試像這樣為JFrame設置默認的關閉操作。

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

然后實現一個WindowListener ,該事件在觸發關閉窗口事件時執行所需的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM