java actionevent事件_java学习:AWT组件和事件处理的笔记(1)--文本框上的ActionEvent事件...

学习处理事件时,必须很好的掌握事件源,监视器,处理事件的接口

1.事件源

能够产生java认可事件的对象都可称为事件源,也就是说事件源必须是对象

2.监视器

监视事件源,以便对发生的事件做出处理

如:对文本框,这个方法为:

addActionListener(监视器);

3.处理事件的接口

为了让监视器这个对象能对事件源发生的事件进行处理,创建该监视器对象的类必须声明实现相应的接口,即必须在类体中给出该接口中所有方法的方法体

java.awt.event包中提供了许多事件类和处理各种事件的接口。

对于文本框,这个接口的名字是ActionListener,这个接口的唯一方法为:public void actionPerformed(ActionEvent e)

为了能监视到ActionEvent类型的事件,事件源必须使用addActionListener方法获得监视器,创建监视器的类必须实现接口ActionListener

ActionEvent类有如下常用方法:

1.   public Object getSource()

ActionEvent对象调用该方法可以获取发生ActionEvent事件的事件源对象的引用

2. public String getActionCommand()

ActionEvent对象调用该方法可以获取发生ActionEvent事件时,和该事件相关的一个命令字符串

注意:创建监视器对象的类必须声明实现相应的接口:

class A implements xxxListener

实战演练:当用户在文本框text1中输入英语单词并按Enter键,文本框text3中立即显示汉语意思;在文本框text2中中输入汉语单词并按Enter键后,文本框text3中立即显示英文意思

代码如下:

import java.awt.*;import java.awt.event.*;class Mywindow extends Frame implementsActionListener

{

TextField text1,text2,text3;

Mywindow(String s){

setTitle(s);

setLayout(newFlowLayout());

text1=new TextField(8);

text2=new TextField(8);

text3=new TextField(15);

add(text1);

add(text2);

add(text3);

text1.addActionListener(this);

text2.addActionListener(this);

setBounds(100,100,150,150);

setVisible(true);

validate();

}public voidactionPerformed(ActionEvent e){if(e.getSource()==text1)

{

String word=text1.getText();if(word.equals("boy"))

{

text3.setText("男孩");

}else if(word.equals("girl"))

{

text3.setText("女孩");

}else if(word.equals("sun"))

{

text3.setText("太阳");

}else{

text3.setText("没有该单词");

}

}else if(e.getSource()==text2)

{

String word=text2.getText();if(word.equals("男孩"))

{

text3.setText("boy");

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

{

text3.setText("girl");

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

{

text3.setText("sun");

}else{

text3.setText("没有该单词");

}

}

}

}public classExample3

{public static voidmain(String[] args){

Mywindow win=new Mywindow("汉英互译");

}

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值