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事件處理模型的簡單介紹,相信這種處理機制,能夠在發生一些程式錯誤的時候快速進行糾正,對於事件的處理是非常友好的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4687/viewspace-2830947/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是流處理
- 什麼是批處理
- 基於python的事件處理模型Python事件模型
- Java——事件處理機制概要Java事件
- 什麼是Java記憶體模型?Java記憶體模型
- 什麼是Java記憶體模型Java記憶體模型
- python資料處理是什麼意思Python
- Java記憶體模型是什麼,為什麼要有Java記憶體模型,Java記憶體模型解決了什麼問題?Java記憶體模型
- python異常處理的流程是什麼?Python
- 什麼是殭屍程式以及如何處理
- DOM0、DOM2、DOM3事件處理方式的區別是什麼?事件
- 事件處理事件
- nginx 是如何處理過期事件的?Nginx事件
- Java是什麼_Java是做什麼的?Java
- AI三重問:什麼是AI?什麼是AI模型?什麼是AI大模型?AI大模型
- Java記憶體模型FAQ(一) 什麼是記憶體模型Java記憶體模型
- 什麼是大模型?大模型
- 什麼是UE模型?模型
- Java-GUI程式設計之事件處理JavaGUI程式設計事件
- JavaSwing 事件處理Java事件
- vue事件處理Vue事件
- Flutter | 事件處理Flutter事件
- JavaScript事件處理JavaScript事件
- React事件處理React事件
- 什麼是事件門戶?- solace事件
- 8.2 什麼是事件主題事件
- Netty是如何處理新連線接入事件的?Netty事件
- react之事件處理React事件
- 什麼是NLP,NLP主要有什麼用,為什麼要學自然語言處理?自然語言處理
- 供應鏈攻擊是什麼?應該如何處理?
- 什麼是IO多路複用?Nginx的處理機制Nginx
- 什麼是lambda?有什麼好處
- 事件分發之View事件處理事件View
- Java:實驗四 Java圖形介面與事件處理(頭歌)Java事件
- Java記憶體模型FAQ(三)JSR133是什麼?Java記憶體模型JS
- javascript事件捕獲是什麼意思JavaScript事件
- [譯] 為什麼需要在 React 類元件中為事件處理程式繫結 thisReact元件事件
- Java是什麼? Java適用於什麼工作?Java