趣味理解java事件處理邏輯
阿新 • • 發佈:2018-05-21
java事件處理 addActionListener Applet ActionEvent 趣味理解java事件處理邏輯
{...}
{
door=new TextField(10);
wall=new TextField(20);
add(door);
add(wall);
door.addActionListener(new dog()); //讓狗對象監視text1
}
目標:當有東東走過door,就要在wall上發布這個消息。
分析:為達目標,顯然需要一個對象(事件監聽者)來監視door,當door有異動時,事件監聽者作出反應。
(1)我們請一只dog來作door的事件監聽者。
我們在door邊,加一個事件監聽者dog,用java語言表達此意思也就是:
door.addActionListener(new dog());
(2)顯然一只普通的dog不能勝任看門工作,要能勝任工作,必須具備看門業務技能,即必須 implements ActionListener。
所以我們要定義具備這種特征dog類,用java語言表達此意思也就是:
class dog implements ActionListener
(3)看門狗最主要的行為和方法,是當door有事件發生,傳過來ActionEvent e事件對象時,自動采取行動,即actionPerformed(ActionEvent e),
采取什麽行動呢?就是:
public void actionPerformed(ActionEvent e)
{...}
哈哈,就看你怎麽給出三點了。
參考程序如下:
import java.applet.;
import java.awt.;
import java.awt.event.*;
public class yan22 extends Applet
{
TextField door,wall;
public void init()
door=new TextField(10);
wall=new TextField(20);
add(door);
add(wall);
door.addActionListener(new dog()); //讓狗對象監視text1
}
class dog implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
wall.setText("door有輸入!");
}
}
}
趣味理解java事件處理邏輯