java事件處理模型知識點總結
我們在上手一個新項目時,對於陌生的環境不適用難免會出現一些錯誤,這時候就需要有經驗的人來幫忙。java中的事件處理模型就類似這樣的原理,分為三類對象,在特定的環境下,由監聽器對事件源進行監督。下面我們就java事件處理模型的基本原理、三類對象、實例分別進行學習。
1.基本原理
每個事件源可以發出若幹種不同類型的事件。在程序中為每個事件源指定一個或者多個監聽者,它可以對某種事件進行監聽。如果某種事件發生,就調用相應監聽者中的方法。
2.三類對象
(1)Event Source(事件源):事件發生的場所,通常就是各個組件,如按鈕,窗口;
(2)Event(事件):事件封裝瞭界面組件上發生的特定事情。
(3)Event Listener(事件監聽器):負責監聽事件源所發生的事件,並對各種事件做出相應的響應。
3.實例
package Swing; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Event_Exam extends JFrame implements ActionListener { static Event_Exam mainJFrame=new Event_Exam(); static JLabel labl1,labl2; static JLabel showlb1=new JLabel("0"); static JLabel showlb2=new JLabel("0.0"); static JTextField text1,text2; public static void main(String[] args) { // TODO Auto-generated method stub mainJFrame.setTitle("操作事件示例!"); mainJFrame.setSize(200, 160); Container container=mainJFrame.getContentPane(); container.setLayout(new FlowLayout()); labl1=new JLabel("輸入整數型:"); container.add(labl1); text1=new JTextField("0",10); text1.addActionListener(mainJFrame);//把監聽者mainJFrame向事件源text1註冊 container.add(text1); labl2=new JLabel("輸入浮點數:"); container.add(labl2); text2=new JTextField("0.0",10); text2.addActionListener(mainJFrame);//把監聽者mainJFrame向事件源text2註冊 container.add(text2); showlb1.setForeground(Color.blue); showlb1.setHorizontalTextPosition(SwingConstants.LEFT); showlb2.setForeground(Color.green); showlb2.setHorizontalTextPosition(SwingConstants.LEFT); container.add(showlb1); container.add(showlb2); mainJFrame.setVisible(true); } public void actionPerformed(ActionEvent e) {//事件發生時的處理操作 //提取文本框內容並顯示在showlb1、showlb2中 showlb1.setText("整數為"+text1.getText()); showlb2.setText("浮點數為"+text2.getText()); } }
java的事件模型知識點擴展:
事件模型
首先你得有個事主兒(事件源),啥時候做個事通知我下,我好處理,OK,在我這註個冊吧,有事告你聲,你好處理,事情來瞭,調用準備好的方法XX。。。
事件源 —發生事件的對象
事件— 發生瞭什麼事 eg :MouseEvent KeyEvent actionEvent等等
監聽器 — 監聽某component的某個事件 一般有實現某種監聽器的類的對象來監聽 一般把事件源對象的具體信息封裝到e(監聽器的方法參數裡 XXEvent e)
註冊 — addXXListener(XXListener) component的addXXListener(實現XX監聽器的對象) 監聽誰,登個記,註意這個事組件的addXXListener方法
回調方法 — 預先準備好瞭,如果你xx,我就調用之前準備好的事件處理程序XX
到此這篇關於java事件處理模型知識點總結的文章就介紹到這瞭,更多相關java事件處理模型是什麼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!