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

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

  事件源:事件的产生器。

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

  比如在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. offse

    关于offset共有5个东西需要弄清楚: 1.offsetParent 2.offsetTop 3.offsetLeft 4.offsetWidth 5.offsetHeight (1)offsetW ...

  2. [Python]logging模块使用basicConfig后记录日志重复问题

    logging.basicConfig配置日志记录到文件A后,再使用logging.FileHandler生成记录到文件B的logger 在使用此logger记录日志时,会同时记录的文件A和文件B,感 ...

  3. SQLSERVER2008 不能用IP连接数据库问题

    本机安装的数据库只能用电脑名+"\"+实例名来访问,用“.”.“(local)”.“localhost”呀都不能访问.然后在网上挖资料呀,挖呀挖呀,终于挖到了解决办法. 1.不能用 ...

  4. [解决方案] pythonchallenge level 1

    http://www.pythonchallenge.com/pc/def/map.html g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amk ...

  5. _crol_和_cror_函数

    “_crol_” 与“_cror_”其实就是左右循环代码,其具有程序代码简单执行效率高的优点! 是在单片机c语言编程中常用到的,变量=_crol_(变量名,移动位数),例如:P0=_crol_(P0, ...

  6. iOS 创建framework & bundle 主要配置

    bundle:base sdk 为iOS, delete compile resource framework:target dependencies,headers,mach-o proj: tar ...

  7. 用powershell批量新增user profile

    SharePoint 2013 新系统,要在User Profile Service里把人全加一下,其实同步ad更方便,但ad里的人太多,没必要全要,只要大中华区就行了,问hr要了一份人员名单,写了个 ...

  8. day05 java JDBC案例—Android小白的学习笔记

    1.要从键盘录入用户名与密码我们需要使用Scanner类完成操作 2.接收到用户名与密码后,我们需要调用jdbc程序根据用户名与密码查询数据库 User.java package com.superg ...

  9. Hello Point——WebGL

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  10. noConflict

    var _avalon = window.avalon avalon.noConflict = function(deep) { if (deep && window.avalon = ...