我们大家都知道窗口事件处理指的是什么,java中我们都清楚的记得WindEvent这个类名,它可以产生窗口事件事件源,也包括了window的子类然后用windowlistener来监听,下面是一个简单窗口事件处理代码:

import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
public class Test extends JFrame implements WindowListener{
public Test(String title){
super(title);
addWindowListener(this);
}
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("1");
}
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("2");
}
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("3");
}
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("4");
}
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("5");
}
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("6");
}
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("8");
}
public static void main(String[] args){
Test frame=new Test("TestWINDON event");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(100,80);
frame.setVisible(true);
}
}
这样的感觉你也明白吧?很烦是吗?你一定会想窗口打开情况或者关闭情况如果我不要怎么办?是不是感觉代码累赘了?像负面性的东西让你觉得恶心,如果这个时候你只需要一个打开窗口情况那?这个时候就想想事件适配器类吧,更多的时候我愿意将它称为事件裁剪类,它可以根据我们的需要,选择性的选择我们需要的接口中的抽象方法,而不是全部实现。比如下面的代码:

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class TestAdapter extends JFrame{
public TestAdapter(String title){
super(title);
addWindowListener(new MyListener());
}
public static void main(String[] args){
TestAdapter frame=new TestAdapter("TestWindowAdapter");
frame.setSize(200,100);
frame.setVisible(true);
}
class MyListener extends WindowAdapter{
public void windowClosing(WindowEvent event){
System.out.println("Window closing");
System.exit(0);
}
}
没有像上面的代码一样那样恶心了吧?
后记:在让他运行了这2个程序之后,他便恍然大悟,明白了到底上面是事件适配器类。我们学IT的,很多时候会学了一些新东西,然后忘了一些旧东西。我把它写在我的BLOG里算是对自己知识的温习。
544

被折叠的 条评论
为什么被折叠?



