我有一个JFrame
,我想知道何时关闭按钮被点击为JFrame
。当JFrame
关闭时,我的整个项目都没有关闭,所以我想能够告诉用户什么时候关闭那个Frame。当JFrame关闭时
我已经使用像作为!f.isShowing和!m.f.isActive(方法试过),但是当我关闭框架,我希望发生的没有。
我有一个JFrame
,我想知道何时关闭按钮被点击为JFrame
。当JFrame
关闭时,我的整个项目都没有关闭,所以我想能够告诉用户什么时候关闭那个Frame。当JFrame关闭时
我已经使用像作为!f.isShowing和!m.f.isActive(方法试过),但是当我关闭框架,我希望发生的没有。
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);
}
}
});
@ dic19垃圾,System.exit指示JVM以受控和已知方式终止,并且不会终止,直到所有非守护线程也终止。 – MadProgrammer
@MadProgrammer我错了我的完全Java生活我猜:P – dic19
@ dic19我知道这种感觉;) – MadProgrammer
如果你不想做什么特别当框架关闭时,您可以使用setDefaultCloseOperation
方式的转变,一个JFrame
EXIT_ON_CLOSE
退出应用程序默认窗口关闭操作。如果一个窗口有 这个设置为关闭操作,并且在一个小程序中关闭,则可能会抛出SecurityException。建议您仅在应用程序中使用此 。
HIDE_ON_CLOSE
的隐藏窗口的默认窗口关闭操作
DISPOSE_ON_CLOSE
的Dispose窗口的默认窗口关闭操作。注意:当Java虚拟机(VM)内的最后一个可显示窗口被配置为 时,VM可能会终止。有关更多 信息,请参阅AWT线程问题。
1+,但我猜他真的想要一个模态的JDialog,因为他想知道什么时候窗口关闭,不想关闭应用程序。但直到他讲得更多,谁知道呢? –
@HovercraftFullOfEels这是我认为的有点,因此开幕声明的原因 – MadProgrammer
当
JFrame
关闭我的整个项目没有关闭...
一个常见的原因是,当你宣布一个JFrame你应该调用JFrame的这种方法,使其关闭当你按下 'X' 按钮:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
阅读:http://stackoverflow.com/questions/1234912/how-to-programmatically-close-a-jframe?rq=1 – Stuart
我不不想关闭它,我想知道它是什么时候用户关闭它。 – user3341532
要明确一点,当框架关闭时,您是否遇到运行不会结束的问题,还是您想在框架关闭时执行某些操作?因为在你的问题中都提到了。 – BitNinja