A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘源 中级黑马   /  2012-8-5 18:32  /  5890 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘源 于 2012-8-5 23:09 编辑

什么是事件、事件源和事件监听器?他们之间是什么关系
问题已经解决”。

3 个回复

倒序浏览
事件:用户对组件的一个操作,称之为一个事件
事件源:发生事件的组件就是事件源
事件处理器:某个Java类中的负责处理事件的成员方法

再给你一张图

抱歉!我表达不是很好,如果你有什么看不懂,就在群里找我,我给你细说

080529150840[1].jpg (11.1 KB, 下载次数: 77)

080529150840[1].jpg

评分

参与人数 1技术分 +1 收起 理由
张立江 + 1 赞一个!图文并茂

查看全部评分

回复 使用道具 举报
事件是可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事,等等。事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事件由用户激发,如用户点击按钮,在文本框中显示特定的文本。事件驱动控件执行某项功能。
事件由事件源所激发。向事件源注册的事件侦听器可接收有关特定事件类型的通知

Java事件监听器即一组动作接口。如键盘事件KeyEvent对应的接口是:
  public interface KeyListener extends EventListener {
  public void keyPressed(KeyEvent ev);
  public void keyReleased(KeyEvent ev);
  public void keyTyped(KeyEvent ev);
  }
  这个监听器定义了3个动作:键盘按下去调用keyPressed方法,键盘抬起来调用keyReleased,键盘被敲击一次调用keyTyped。
回复 使用道具 举报
事件源:就是awt或者swing中的那些图形界面组件
事件:每一个事件源都有自己特有的对应事件和共性事件
监听器:将可以触发某一个事件的动作(不止一个动作)都已经封装到了监听器中

下面是代码,可以帮助你理解下
import java.awt.*;
import java.awt.event.*;

public class TestListener {
        public static void main(String[] args) {
                new TestFrame ().launchFrame();
        }
}

class TestFrame extends Frame {
        //而添加的TextField就是这里的事件源,可以理解成这个事件源自哪里
        TextField tfS;
        TextField tfC;
        public void launchFrame() {
                tfS = new TextField();
                tfC = new TextField();
               
                add(tfS, BorderLayout.SOUTH);
                add(tfC, BorderLayout.CENTER);
               
                //WindowListene就是添加的一个监听器
                addWindowListener(new WindowAdapter() {
                        //而这个WindowEvent e中的e,就是系统自动帮你封装好的事件,就像异常那样,把异常事件封装成了一个对象
                        public void windowClosing(WindowEvent e) {
                                System.exit(0);
                        }
                });                       
                setBounds(300,150,400,400);
                setVisible(true);
        }
}
希望可以帮到你理解

评分

参与人数 1技术分 +1 收起 理由
张立江 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马