[英]How to close JFrame?
我有主要的應用框架。 如果用戶單擊按鈕,他將獲得一個新框架,其中包含一些圖表。 現在,如果我要關閉該圖表,則圖表和主應用程序都會關閉。 我如何區分這兩個結尾。 當然,我不希望在關閉放置圖表的框架后關閉我的應用程序。 這是圖表框架的代碼。
chartBttn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
final ShowChart sc = new ShowChart("Reserve Selection", getUtilExperiments() );
sc.pack();
RefineryUtilities.centerFrameOnScreen(sc);
sc.setVisible(true);
sc.setDefaultCloseOperation(ShowChart.DISPOSE_ON_CLOSE);
}
});
您可以使用dispose()
方法。 或者您可以調用setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
在JFrame上。
如果我正確理解了您在新的JFrame上使用的關閉按鈕或X窗口按鈕的構建方法,請執行以下操作:
setVisible(false);
dispose();
否則,請發布您的代碼以創建新的JFrame等。
當然,我不希望在關閉放置圖表的框架后關閉我的應用程序。
1)不要動態創建大量JFrames
,僅創建一次JFrame
,然后將其重新用於下次使用,然后
setDefaultCloseOperation(JFrame.NOTHING_ON_CLOSE)
調用可見性setVisible(false/true)
setDefaultCloseOperation(JFrame.NOTHING_ON_CLOSE)
或非常簡單的解決方法
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE)
2)或帶有setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE)
JDialog
3) 注意:但是在這種情況下,無法關閉當前的JVM實例,您必須添加JButton or JMenu/JMenuItem
來加速System.exit(1)
只需使用super.dispose();
用於關閉上一個jframe
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.