学习处理事件时,必须很好的掌握事件源,监视器,处理事件的接口
    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 implements ActionListener
{
TextField text1,text2,text3;
Mywindow(String s){
setTitle(s);
setLayout(new FlowLayout());
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 void actionPerformed(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 class Example3
{
public static void main(String[] args){
Mywindow win=new Mywindow("汉英互译");
}
}

java学习:AWT组件和事件处理的笔记(1)--文本框上的ActionEvent事件的更多相关文章

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

    java.awt包中的TextField类是专门用来建立文本框的,即TextField类创建的一个对象便是一个文本框. 1.TextField类的主要方法    (1)TextField()      ...

  2. java学习:AWT组件和事件处理的笔记(1)--Frame

    1.java的抽象窗口工具包(AWT)中包含了许多类来支持GUI设计2.AWT由java的java.awt包提供3.再进行GUI编程时,要理解:容器类(Container),组件(component) ...

  3. java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项

    菜单放在菜单条里,菜单项放在菜单里1.MenuBar    在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条.    在Frame类中的setMenuBar(Menu ...

  4. Android学习笔记-TextView(文本框)(二)

    2.4 使用autoLink属性识别链接类型 当文字中出现了URL,E-Mail,电话号码,地图的时候,我们可以通过设置autoLink属性:当我们点击 文字中对应部分的文字,即可跳转至某默认APP, ...

  5. Android学习笔记(17):文本框TextView类

    TextView继承自View.用于显示文本.它有很多的子类,掌握其属性是非常重要的. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5 ...

  6. JAVA学习AWT绘图

    package com.graphics; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel ...

  7. java学习之路--零碎的知识笔记

    java运算符: 自增自减运算符: int b = ++a; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再 ...

  8. Android学习笔记-TextView(文本框)(一)

    1.基础属性详解: id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置,又或者使用RelativeL ...

  9. 【学习】文本框输入监听事件oninput

    真实项目中遇到的,需求是:一个文本框,一个按钮,当文本框输入内容时,按钮可用,当删除内容时,按钮不可用. 刚开始用的focus和blur, $(".pay-text").focus ...

随机推荐

  1. MAC下用OPENSSL生成公钥和私钥

    MAC OS自带了OpenSSL,所以不用去编译那一坨跟SHIT一样的源码.直接在命令行里使用OPENSSL就可以. 打开命令行工具,然后输入 openssl打开openssl,接着只要三句命令就可以 ...

  2. ecos编译redboot,vmware运行redboot,执行hello world(图形配置)

    1- 下载源文件 :~/ecos$ ls -lrt total 80 drwxr-xr-x 7 XXXX XXXX  4096 Mar 27  2009 ecos-3.0 -rw-r--r-- 1 X ...

  3. 50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段

    50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段 本文会给你们展示50个jquery代码片段,这些代码能够给你的javascript项目提供帮助.其中的一些代码段是从j ...

  4. MVC Controller 与 View 传值

    Controller 到 View 1 强类型 控制器 // GET: /Test/ public ActionResult Index() { DateTime date = DateTime.No ...

  5. HQL(Hibernate Query language)语言

    现在有两张表:student(学生表),classroom(教室表). //对象 Student 对应 student 表中有四个字段,分别是:id,name,age,classroom; publi ...

  6. mysql中插入多条记录-微软批处理

    当向mysql中插入大量数据时,可以使用微软的批处理方式.这样可以防止内存溢出又提高了效率.我写了一个mysql中插入多条记录的例子.赋值代码可以直接使用. 1.首先需要添加两个dll MySql.D ...

  7. Uubntu scrot 的简单使用

    scrot 是一个使用 imlib2 库截取屏幕和保存图像的的工具. 1:安装 #apt-get install scrot 2:查看帮助 #scrot -help -v, --version显示版本 ...

  8. Linux系统编程(4)——文件与IO之ioctl函数

    ioctl是设备驱动程序中对设备的I/O通道进行管理的函数.所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率.马达的转速等等.它的参数个数如下:int ioctl(int ...

  9. Plus One 解答

    Question Given a non-negative number represented as an array of digits, plus one to the number. The ...

  10. Median of Two Sorted Arrays 解答

    Question There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median o ...