zoukankan      html  css  js  c++  java
  • 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 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("汉英互译");
        }
    }

  • 相关阅读:
    解决MySQL报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents .....
    不安装Oracle客户端,用plsql连接远程Oracle数据库(绝对解决你的问题)
    Java中的String,StringBuilder,StringBuffer三者的区别
    字符串截取的常用方法
    java 项目 导入成功后jsp页面报错处理方法
    PL/SQL Developer安装详解(32位客户端免安装版)
    oracle 11g如何完全卸载
    Struts2下载文件点取消出现的异常解决
    Web框架们
    Django【进阶篇 】
  • 原文地址:https://www.cnblogs.com/chen521/p/4109720.html
Copyright © 2011-2022 走看看