Java事件處理機制

Java事件處理機制涉及三個成員:事件源事件事件監聽器
事件源:Java的AWT或Swing組件,該組件就是事件源,經過new關鍵字便可建立
事件:由系統自動產生
事件監聽器:整個事件處理的核心。java

事件監聽器必須實現事件監聽器接口,以鼠標事件爲例ide

 1 class btnMouseListener(事件監聽器的名字) implements MouseListener(鼠標事件監聽器接口) {  2     // 事件處理器(發生不一樣的事件進行的操做)  3     // 1. 鼠標進入組件事件
 4     public void mouseEntered(處理器,即事件發生的動做) (MouseEvent(事件名) e) {  5         System.out.println("鼠標進入按鈕");  6  }  7     // 2. 鼠標離開組件事件
 8     public void mouseExited (MouseEvent e) {  9         System.out.println("鼠標離開按鈕"); 10  } 11 }

 

完整的事件處理程序spa

1. 定義事件監聽器類,必須實現XxxListener接口code

2. 完成事件處理器中方法的填寫,規定特定的事件發生時執行的動做blog

3. 建立事件監聽器類的實例並添加進組件接口

 

鼠標進入和離開按鈕的事件事件

 1 package p1;  2 
 3 import java.awt.event.MouseEvent;  4 import java.awt.event.MouseListener;  5 
 6 import javax.swing.JButton;  7 import javax.swing.JFrame;  8 
 9 public class MouseEventDemo { 10     public static void main(String[] args) { 11         JButton jbtn = new JButton("btn"); 12         
13         // 3. 建立事件監聽器,並添加進組件(事件源)(註冊監聽器)
14         BtnMouseListener btnML = new BtnMouseListener(); 15  jbtn.addMouseListener(btnML); 16         
17         JFrame jf = new JFrame("事件處理"); 18  jf.add(jbtn); 19         
20         jf.setSize(800, 600); 21         jf.setLocationRelativeTo(null); 22  jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 23         jf.setVisible(true); 24  } 25 } 26 
27 // 1. 定義事件監聽器類,必須實現MouseListener接口
28 class BtnMouseListener implements MouseListener { 29     
30     // 2. 事件處理器,用於響應特定的事件
31  @Override 32     public void mouseEntered(MouseEvent e) { 33         System.out.println("鼠標進入按鈕"); 34  } 35     
36  @Override 37     public void mouseExited (MouseEvent e) { 38         System.out.println("鼠標離開按鈕"); 39  } 40 
41  @Override 42     public void mouseClicked(MouseEvent e) { 43         // TODO Auto-generated method stub
44         
45  } 46 
47  @Override 48     public void mousePressed(MouseEvent e) { 49         // TODO Auto-generated method stub
50         
51  } 52 
53  @Override 54     public void mouseReleased(MouseEvent e) { 55         // TODO Auto-generated method stub
56         
57  } 58 
59 }

程序效果:it

 

 

 

 

事件、監聽器和處理器之間的關係io

相關文章
相關標籤/搜索