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

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

  事件源:事件的产生器。

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

  比如在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. 开始JavaScript

    将脚本放在那里? 将本可以放在HTML页面上的两个位置:<head>和</head>标签之间(称为头脚本,header script),或者<body>和</ ...

  2. Maven联网问题

    关于Maven联网问题 关于如何找到Maven默认的本地仓库问题 修改Maven默认本地仓库 找到 <localRepository>/path/to/local/repo</loc ...

  3. js zTree的用法

    代码如下: <script type="text/javascript">    var reginTree = {    setting: {        view ...

  4. Java并发编程学习笔记(二)——对象的共享

    主要概念:可见性.重排序.失效数据.最低安全性.发布.逸出.线程封闭(Ad-hoc.栈封闭.ThreadLocal类).不变性.Final域.事实不可变对象. 1.在没有同步的情况下,编译器.处理器以 ...

  5. [转]使用scrapy进行大规模抓取

    原文:http://www.yakergong.net/blog/archives/500 使用scrapy有大概半年了,算是有些经验吧,在这里跟大家讨论一下使用scrapy作为爬虫进行大规模抓取可能 ...

  6. WPF中未将对象引用设置到对象的实例

    前几天,我开始了WPF的基础学习,一上来我就遇到了一个令我头痛的问题,按照书上的例子我写了一段属于自己的代码,一个简单的色调器.满心期待的编译运行,就出现了未将对象引用设置到对象的实例.我在网上查阅了 ...

  7. PythonS12-day4学习笔记

    # 迭代器.装饰器.生成器 # 迭代器 li = [1, 3, 'he', '&'] n = iter(li) print(n.__next__()) import os, sys # 生成器 ...

  8. 什么是 JSON ?

    什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 JSON ...

  9. [转帖]零投入用panabit享受万元流控设备——搭建篇

    原帖地址:http://net.it168.com/a2009/0505/274/000000274918.shtml 你想合理高效的管理内网流量吗?你想针对各个非法网络应用与服务进行合理限制吗?你是 ...

  10. mtk开发

    mtk套接字所有的声明放在soc_api.h 条件编译命令最常见的形式为: ? 1 2 3 4 5 #ifdef标识符 //程序段1 #else //程序段2 #endif 它的作用是:当标识符已经被 ...