我有主要的应用程序框架。如果用户单击该按钮,则会获得一个新框架,其中包含一些图表。现在,如果我要关闭该图表,则图表和主应用程序都将关闭。我如何区分这两个关闭。当然我不想在关闭我放图表的框架后关闭我的应用程序。 这是图表框架的代码。
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);
}
});
答案 0 :(得分:5)
您可以使用dispose()
方法。或者您可以在JFrame上调用setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
。
答案 1 :(得分:3)
如果我在您的新JFrame上正确理解了您的关闭按钮或X窗口按钮的方法:
setVisible(false);
dispose();
否则请在创建新JFrame等时发布您的代码。
答案 2 :(得分:3)
当然,在关闭我放图表的框架之后,我不希望我的申请被关闭。
1)不要动态创建大量JFrames
,只创建一次JFrame
并重新使用它以供下次使用,然后
setVisible(false/true)
setDefaultCloseOperation(JFrame.NOTHING_ON_CLOSE)
致电
或非常简单的解决方法
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE)
2)或JDialog
与setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE)
3)注意:但是在这种情况下无法关闭当前的JVM实例,您必须添加JButton or JMenu/JMenuItem
加速System.exit(1)
答案 3 :(得分:0)
只需使用super.dispose();
来关闭之前的jframe