Java学习——56.事件处理

1、事件

事件(event)是指一个状态的改变,或者一个活动的产生。

2、事件源

产生事件的组件称为事件源,比如,单击一个按钮,那么此按钮就是事件源。双击某张图片,此张图片就是事件源。关闭一个窗口,这个窗口就是事件源。

3、事件类

Java将事件封装成事件类,在java.awt.event包中。

4、事件监听接口

Java为每个事件类定义一个事件监听接口,在接口中约定了事件的处理方法。

例:ActionListener是动作事件监听器接口,声明了一个抽象方法actionPerformed(),在此方法中是事件的处理方法。方法的参数是一个动作事件类ActionEvent的对象。

public interface ActionListener extendsEventListener{

public abstract void actionPerformed(ActionEvent ev);

}

如果声明实现此ActionListener接口,必须实现此方法。

5、注册事件监听器对象

一个组件能够响应的事件是固定的,比如按钮可以响应动作事件,那如何表示?

Java在各组件类中声明了组件注册事件监听器方法,表示组件要响应该事件。

比如在Button类中有注册或取消动作事件监听器的方法:

public void addActionListener(ActionListener listener)//注册动作事件监听器

public void removeActionListener(ActionListener listener)//取消动作事件监听器

一个组件如果注册了一个事件监听器对象,表明该组件声明要响应指定事件。

6、例

    以按钮为例,单击按钮,给文本行赋值为“张熹熹”。

import java.awt.*;

import java.awt.event.*;

public class event_learn extends Frame implements ActionListener{//继承自框架,实现动作事件接口

TextField t;

public event_learn(){

super("按钮事件");

this.setVisible(true);

this.setBounds(200,200,200,100);

Button b=new Button("单击");

this.add(b,"North");

b.addActionListener(this);//注册动作事件监听器

t=new TextField("hello",10);

this.add(t);

this.addWindowListener(new WindowAdapter() {

publicvoid windowClosing(WindowEvent e) {

System.exit(0);

}

});//关闭窗口

}

publicvoid actionPerformed(ActionEvent ev){//实现动作事件接口中的方法

t.setText("张熹熹");

}

publicstaticvoid main(String args[]){

new event_learn();

}

}

其运行结果如下:

单击上图的“单击”按钮后,运行结果如下:

注:所有的,包括接口名,方法名,都不能出错,否则就出不来结果。

(0)

相关推荐