黑马程序员技术交流社区
标题:
求解Frame的疑问
[打印本页]
作者:
金兴
时间:
2012-4-11 22:40
标题:
求解Frame的疑问
做了一个关闭窗体的一个小功能,代码如下::
import java.awt.*;
import java.awt.event.*;
public class TestFrame
{
public static void main(String [] args)
{
Frame f=new Frame("窗体测试窗口");
f.setSize(500,300);
f.setVisible(true);
f.addWindowListener(new MyWindowListener());
}
}
class MyWindowListener implements WindowListener
{
public void windowClosing(WindowEvent e)
{
e.getWindow().setVisible(false);
((Window)e.getComponent()).dispose();
System.exit(0);
}
public void windowActivated(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowOpened(WindowEvent e){}
}
复制代码
我的疑问是我只想调用关闭的功能,那么只调用windowClosing()这个方法就可以了,为什么还要调用以下方法呢 ??
public void windowActivated(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowOpened(WindowEvent e){}
作者:
未长法
时间:
2012-4-11 22:50
处理窗口事件的类要么实现此接口(及其包含的所有方法)),要么扩展抽象类 WindowAdapter(仅重写所需的方法)。
因为你的MyWindowListener 实现了WindowListener接口。,所以你要复写里面的全部抽象方法。
你如果只想调用关闭的功能可以扩展抽象类WindowAdapter(仅重写所需的方法)。
作者:
薛飞飞
时间:
2012-4-11 22:53
想要实现WindowListener接口就必须实现它的所有抽象方法
想只复写windowClosing()这一个方法就可以关闭窗口可以使用以下代码
import java.awt.*;
import java.awt.event.*;
public class TestFrame{
public static void main(String [] args){
Frame f=new Frame("窗体测试窗口");
f.setSize(500,300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
Frame frame = (Frame) e.getSource();
frame.dispose();
}
});
}
}
作者:
杨华威
时间:
2012-4-12 09:39
public void windowActivated(WindowEvent e){}
22. public void windowClosed(WindowEvent e){}
23. public void windowDeactivated(WindowEvent e){}
24. public void windowDeiconified(WindowEvent e){}
25. public void windowIconified(WindowEvent e){}
26. public void windowOpened(WindowEvent e){}
没必要写这些空的监听事件,用不到就不写,提供这个接口就是为了方便使用的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2