我有一个JFrame
,我想知道点击JFrame
的关闭按钮的时间。当JFrame
关闭时,我的整个项目都没有关闭,所以我希望能够告诉用户什么时候关闭那个Frame。
我尝试使用像!f.isShowing 和!mfisActive()这样的方法但是当我关闭Frame时,我想要发生的事情不会。
答案 0 :(得分:3)
如果您在框架关闭时不想做任何特殊操作,可以使用setDefaultCloseOperation
更改JFrame
EXIT_ON_CLOSE
退出应用程序默认窗口关闭操作。如果窗口有 这设置为关闭操作,并在applet中关闭,a 可能会抛出SecurityException。建议您只使用它 在一个应用程序中。
HIDE_ON_CLOSE
隐藏窗口默认窗口关闭操作
DISPOSE_ON_CLOSE
dispose-window默认窗口关闭操作。注意:当最后一个 放置Java虚拟机(VM)内的可显示窗口 ,VM可以终止。有关更多信息,请参阅AWT线程问题 信息。
答案 1 :(得分:1)
import javax.swing.JOptionPane;
frame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
if (JOptionPane.showConfirmDialog(frame,...) ...) {
// ...
System.exit(0);
}
}
});
答案 2 :(得分:0)
当
JFrame
关闭时,我的整个项目都没有关闭......
这是一个常见原因,当您声明一个JFrame时,您应该调用此JFrame方法,以便在按下“x”按钮时将其关闭:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);