java文本框选中事件_Java文本框上的ActionEvent事件

本文详细介绍了Java中处理文本框选中事件的机制,包括事件源、监视器和处理事件的接口的概念。事件源是能够产生事件的对象,如文本框;监视器是对事件源进行监视并处理事件的对象;处理事件的接口则是监视器必须实现的,例如ActionListener接口。通过实现ActionListener接口并在类中定义actionPerformed方法,可以监听文本框的ActionEvent。在示例代码中,当文本框获得焦点且用户输入特定文字时,监视器会根据输入内容更新另一个文本框的显示。
摘要由CSDN通过智能技术生成

三个概念:事件源, 监视器, 处理事件的接口

事件源

能够产生事件的对象都可以成为事件源,如文本框、按钮、下拉式列表等。 事件源必须是一个对象,而且这个对象必须是

Java认为能够发生事件的对象。

监视器

一个对事件源进行监视,以便对发生的事件做出处理的对象。 事件源通过调用相应的方法将某个对象作为自己的监视器,例如。

对于文本框,这个方法是

addActionListener(监视器);

对于获取了监视器的文本框对象,在文本框获得输入焦点之后,如果用户按回车键,Java运行系统就自动用ActionEvent类创建

一个对象, 即发生了ActionEvent事件。 也就是是说,事件源获得监视器之后,相应的操作就会导致事件的发生,并通知监视器,

监视器就会做出相应的处理。

处理事件的接口

监视器负责处理事件源发生的事件。 监视器是一个对象,为了处理事件源发生的事件,监视器这个对象会自动调用一个方法来

处理事件。

Java规定:为了让监视器这个对象能够对事件源发生的事件进行处理,创建该监视器对象的类必须声明实现相应的接口,即必须

在类体中给出该类接口中所有方法的方法体,那么当事件源发生事件时, 监视器就自动调用执行被类实现的某个接口方法。

java.awt.event包中提供了许多事件类和处理各事件的接口。对于文本框这个接口的名字是ActionListener,这个接口中只有一

个方法:

public   void   actionPerformed(ActionEvent    e);

总结:

其过程可以总结为:通过实现某个接口来定义一个监视器类,在这个类中给出该接口中所有方法的方法体;为某一事件源(文本框等)

添加监视器(不同事件源添加监视器的函数可能有所不同)

eg.

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

//该ActionListener接口只有一个方法,即actionPerformed,定义类实现该接口和接口中的方法

//监视器类

class   Handle   implements   ActionListener            //①实现某接口

{

protected TextEvent textEvent;

public Handle(TextEvent   textEvent)                           //构造函数

{

this.textEvent = textEvent;

}

public void actionPerformed(ActionEvent e)               //②实现该接口中的所有方法

{

if(textEvent.text1 == e.getSource())

{

String word = textEvent.text1.getText();

if(word.equals("男孩"))

{

textEvent.text2.setText("boy");

}

else if(word.equals("女孩"))

{

textEvent.text2.setText("girl");

}

else if(word.equals("太阳"))

{

textEvent.text2.setText("sun");

}

else

{

textEvent.text2.setText("其他情况");

}

} //if

}//pubic void actionPerformed(ActionEvent   e)

}

public class TextEvent extends Applet      //继承自Applet,固定写法

{

TextField text1, text2;

public  void init()                                     //init()函数 ,初始化,作用可见前篇文章

{

text1 = new TextField(10);

text2 = new TextField(10);

add(text1);

add(text2);

Handle handle = new Handle(this);      //③定义监视器类对象

text1.addActionListener(handle);        //④添加监视器对象

}

}

运行结果:

4746577823499269d22450f3b56f4c9f.png            

d237200c797e8635f90e8791e3a1bbdf.png

881af31e1a57af71bd3ca2501d957623.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值