事件:描述发生了什么的对象

  存在各种不同类型的事件类用来描述各种类型的用户交互。

  事件源:事件的产生器。

  事件处理器:接收事件、解释事件并处理用户交互的方法

  比如在Button组件上点击鼠标会产生以这个Button为源的一个ActionEvent,这个ActionEvent实例是一个对象,它包含关于刚才发生的那个事件的信息,这些信息包括:

  getActionCommand():返回与动作相关联的命令名称。

  getWhen():返回事件发生的时间。

  如果用户在用户界面层执行了一个动作(鼠标点击和按键),这将导致一个事件的发生。

 当单击一个按钮时,就会产生一个事件(ActionEvent),然后检查是否有与该按钮关联的事件处理器(实际上是一个方法),

  如果没有,那么什么都不执行;

  如果有的话,就会将该事件传递给与该按钮关联的事件处理器方法,作为该方法的参数,之后该事件处理方法就会自动得到调用,并且该方法可以使用传递过来的ActionEvent对象,进而获得事件发生时与该事件及事件源相关联的那些信息。

  Java中的组件若想添加事件处理器,都会使用形如addXxxListener()的方法来添加。一个事件源可以添加多个监听器。

      MouseEvent,鼠标事件,鼠标按下、释放、点击等。

  WindowEvent,窗口事件,点击关闭按钮,窗口得到与失去焦点,窗口最小化等。

  ActionEvent,动作事件,不代表具体的动作,是一种语义。如按钮或菜单被鼠标单击,单行文本框中按下回车键等都可以看做是ActionEvent事件。

  如果用户的一个动作导致了某个组件最基本的动作发生了,这就是ActionEvent事件。

  对于每类事件,都会有一个接口(接口一般叫XxxListener),这个接口要求定义一个或多个方法。想接收这个事件的类必须实现这个接口,当发生这些事件时,就会调用这些方法。

  关于事件处理的另一个例子: 

gui2的更多相关文章

  1. Atitit.你这些项目不都是模板吗?不是原创  集成和整合的方式大总结

    Atitit.你这些项目不都是模板吗?不是原创  集成和整合的方式大总结 1.1. 乔布斯的名言:创新即整合(Creativity is just connecting things).1 1.2. ...

  2. Atiti.ui原理与gui理论

    Atiti.ui原理与gui理论 1. 概论2 2. ui的类型2 2.1. RMGUI vs IMGUI2 2.2. Cli2 2.3. Gui2 2.4. Nui natural user int ...

  3. java---Unicode-字符转换器

    实现一个字符(包括汉字)的简单互相转换: package cn.hncu.gui2; import java.awt.Button; import java.awt.Color; import jav ...

  4. python批量下载

    # -*- coding: utf-8 -*-__author__ = 'Administrator'from PyQt4.Qt import *from PyQt4.QtCore import *f ...

  5. MATLAB中文论坛帖子整理(GUI)

    MATLAB中文论坛帖子整理(GUI) 目   录  1.GUI新手之——教你读懂GUI的M文件... 10 2.GUI程序中改变current directory引起的问题... 15 3.GUI中 ...

  6. 从零开始学习UNITY3D(GUI篇 群组视图控件)

    控件组可以看成一个大的容器,控件组里面的控件,相对位置已该控件组为基准,而不再已屏幕左上角为基准. 下面来看一下代码实例及其效果截图: public class GUI2 : MonoBehaviou ...

  7. 从零开始学习UNITY3D(GUI篇 2)

    复合控件极其使用,toolbar,selectgrid 先看效果图: toolbar可以看作是一个button按钮的集合,一次只能点击一个按钮, selectgrid又可以堪称是一个toolbar的集 ...

  8. 在自己的服务器上安装GitBook

    更新时间:2016-08-05 更新说明: 由于在 Linux 内核的机器上安装 Calibre 需要安装的依赖库过多,故不推荐在此类机器上使用格式转换功能.你可以阅读 在自己的电脑上安装GitBoo ...

  9. Java学习——Applet写字符串(调字体)

    import java.awt.*; import java.applet.Applet; public class GUI2 extends Applet{ public void paint(Gr ...

随机推荐

  1. C++中的文件读取结束

    while(cin>>N>>M) { } ok???

  2. 调用javaAPI访问hive

    jdbc远程连接hiveserver2 2016-04-26 15:59 本站整理 浏览(425)     在之前的学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用Hi ...

  3. Ubuntu 14.10 创建虚拟网卡实现桥接网络

    目标需求:在Ubuntu主机创建一张虚拟网卡,使得搭建在VirtualBox中的其他主机能借助虚拟网卡构建的局域网进行相互间的通讯 步骤一:准备工具包 安装 uml-utilities 以及 brid ...

  4. CSS3 Background-size

    详情见链接 http://www.w3cplus.com/content/css3-background-size/ 例子:http://www.topcss.org/demo/background- ...

  5. 浅谈javascript中事件冒泡与事件捕获

    事件冒泡:一个事件会顺着他的层级一直往上传,一直传到document上为止,即从盒模型上看是从内到外的过程. 例: <!DOCTYPE html><html lang="e ...

  6. [解决方案] pythonchallenge level 2

    http://www.pythonchallenge.com/pc/def/ocr.html 根据页面提示查看网页源代码,在最后:<!--find rare characters in the ...

  7. IT之梦

    生活原本不孤单,可惜人们总爱感叹 日子其实很简单,而我却不甘平淡 工作中我尽情的挥洒热汗,只为让成功离自己更近一点 生活中我为人和善,只为人生的路上多一个伙伴 时间不等人,IT尚遥远 我愿舍身敬业,誓 ...

  8. navicat在ubuntu下中文乱码的真正解决方法ZT

    乱码解决方法(自己解决我自己这种情况之后打猜测): 打开start_navicat文件,会看到 export LANG="en_US.UTF-8" 将这句话改为 export LA ...

  9. REVERSE-DAILY(5)-rev2

    比较有意思的一道题目  提示是一个迷宫 链接: http://pan.baidu.com/s/1pLhINBt 密码:91bs 先运行程序,要求是输入字符串,错误会输出"Sorry you ...

  10. oracle xmltype导入并解析Excel数据 (二)规则说明

    规则表字段说明如下: 其中RULE_FUNC_CUSTOMIZE表示,用户自己写函数,去判断数据是否合法,存储的是函数的名字 此函数的参数只有一个,该列的值,字段类型是Varchar2, 校验失败的话 ...