天天看點

awt--事件擴充卡--比如WindowAdapter

事件擴充卡

1 抽象類 implements 事件監聽器,但是裡面具體的方法全部空實作,可以實作多個監聽器

2 使用者繼承 事件擴充卡類 ,按照需要實作自己的方法。

/*  事件擴充卡原理
 * 
 * 事件擴充卡--》實作事件監聽器接口
 * 
 * 但是是空實作,所有實作的方法體裡面沒有語句,或者就是一個分号;
 * 
 * 使用者再繼承事件擴充卡,需要哪個方法就編寫哪個方法
 * 
 * 中間連接配接的思維   比如  WindowAdapter  實作 WindowListener  但是是空實作,不信請看源代碼
 * 
 * WindowListener 實作了3個接口,為三個監聽器做了适配   
 * 
 * public abstract class WindowAdapter  implements WindowListener, WindowStateListener, WindowFocusListener
 * 
 * 
 * 定義成了抽象方法,表示要想使用它,必須要繼承
 * */

package awt3yue2;


import java.awt.*;
import java.awt.event.*;
public class WindowAdapterTest {
	Frame f = new Frame("事件擴充卡測試");
	TextArea ta = new TextArea(5,10);
	
	public void init()
	{
		f.addWindowListener(new MyListener());
		f.add(ta); //預設放在中間
		f.pack();
		f.setVisible(true);
	}
	
	//繼承事件擴充卡
	public class MyListener extends WindowAdapter
	{
		public void windowClosing(WindowEvent e)
		{
			 ta.append("視窗關閉");
			 //System.exit(0);
			 f.setVisible(false);
		}
	}
	
	
	public static void main(String [] args)
	{
		new WindowAdapterTest().init();;
	}

}