【发布时间】:2012-11-29 14:54:51
【问题描述】:
我想在使用 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 关闭我的 java 应用程序之前调用一个方法; 我已经用 windowClosed/windowsClosing 尝试了 WindowListener,但它不起作用。 它看起来像这样
public class exampleFrame JFrame implements{
public exampleFrame (){
this.addWindowListener(new windowAction());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class windowAction implements WindowListener{
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosed(WindowEvent e) {
System.out.prinln("window closed")
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.out.prinln("window closing")
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
}
}
【问题讨论】:
-
“不起作用”是什么样的?
-
“你能做这样的事吗?”是的,你可以。
-
不起作用,因为没有任何结果。例如,您放置了 System.out.println("windows close");...该消息未显示,因此函数窗口关闭或 windowsClosing 正在调用该消息。或者除非我做错了。
-
this.addWindowListener(new windowAction());
-
首先,如果使用
WindowListener,请使用setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);(如副本的答案所示)。
标签: java swing jframe awt windowlistener