窗口事件处理(2)
我们点击窗口中的某个按钮时,按钮本身不会产生什么动作,而是由它所委托的监听器来完成相应的逻辑处理,这就是事件处理机制。
如果想要在点击窗口的关闭按钮时,让窗口有所相应,就需要借助于java.awt.event.WindowAdapter类。它时一个抽象类,根据我们的需求自己完成相应的抽象方法。假设现在我们有这个一个需求:在窗口关闭进行中和关闭后释放资源。那么就需要实现windowClosing和windowClosed两个方法。具体的过程是:
1.写一个新类继承java.wt.event.WindowAdapter 2.分别实现windowClosed和windowClosing两个函数 3.使用addWindowListener添加这个新类进行监听
具体的代码是:
class myframe extends Frame{ public myframe() { windowaction action = new windowaction(); this.addWindowListener(action); } public static void main(String args[]) { (new myframe()).setVisible(true); } class windowaction extends java.et.event.WindowAdapter{ public void windowClosing(java.awt.event.WindowEvent event) { Object object = event.getSource(); if(object == myframe.this) closing(event); } public void windowClosed(java.awt.event.WindowEvent event) { Object object = event.getSource(); if(object == myframe.this) closed(event); } } void closing(java.awt.event.WindowEvent event) { setVisible(false); dispose(); } void closed(java.awt.event.WindowEvent event) { System.exit(0); } }