java事件處理模型是什麼

gamebus發表於2021-09-11

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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章