天天看點

視窗關閉方法:事件監聽機制,窗體關閉案例,擴充卡改進窗體關閉

作者:煩人的星辰

視窗關閉方法:事件監聽機制

事件監聽機制
       A:事件源:事件發生的地方
       B:事件:就是要發生的事情
       C:事件處理:就是針對發生的事情做出的處理方案
       D:事件監聽:就是把事件源和事件關聯起來

舉例:人受傷事件
      
       事件源:人(具體對象)
            Person p1 = new Person("張珊");
            Person p1 = new Person("李四");
        事件:受傷
                 受傷的種類很多是以受傷要定成接口
		        interface 受傷接口{
		        	一拳();
		        	一腳();
		        	一闆磚();
		        }
        事件處理:
		       受傷處理類 implements 受傷接口{
		                             一拳(){System.out.println("鼻子流血啦,送到衛生間洗洗")}
				      	一腳(){System.out.println("暈倒了,送到通風處")}
				       	一闆磚(){System.out.println("頭破血流,送到太平間")}
		       }
     事件監聽;
        p1.注冊監聽(受傷接口)           

窗體關閉案例

package cn.itcast_04;

import java.awt.Frame;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

public class 窗體關閉案例 {

	public static void main(String[] args) {
		// 建立窗體對象
		Frame f = new Frame("窗體關閉案例");
		
		//設定窗體屬性
		f.setBounds(400, 200, 400, 300);

		//設定窗體可見
		f.setVisible(true);
		
		//讓窗體關閉
		//事件源:窗體對象
		//事件:對窗體的處理
		//事件處理:關閉窗體
		//事件監聽:
		f.addWindowListener(new WindowListener() {
			
			@Override
			public void windowOpened(WindowEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void windowIconified(WindowEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void windowDeiconified(WindowEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void windowDeactivated(WindowEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void windowClosing(WindowEvent e) {
				//關閉視窗
				System.exit(0);
				
			}
			
			@Override
			public void windowClosed(WindowEvent e) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void windowActivated(WindowEvent e) {
				// TODO Auto-generated method stub
				
			}
		});
	}
}           

用擴充卡改進窗體關閉案例

package cn.itcast_04;

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class 用擴充卡改進窗體關閉案例 {
	public static void main(String[] args) {
		// 建立窗體對象
		Frame f = new Frame("窗體關閉案例");
		
		//設定窗體屬性
		f.setBounds(400, 200, 400, 300);

		//設定窗體可見
		f.setVisible(true);
		
	    f.addWindowListener(new WindowAdapter() {
	    	@Override
	    	public void windowClosing(WindowEvent e) {
	    		System.exit(0);
	    	}
		});		
	}
}           

繼續閱讀