Java事件处理

1、事件的处理过程,主要涉及三类对象:

  Event Source(事件源):事件发生的场所,通常就是各个组件,例如:按钮、窗口、菜单等等。

  Event(事件):事件封装了GUI组件上发生的特定事情(通常就是一次用户操作)。(EventObject)

  EventListener(事件监听器):负责监听事件源发生的事件,并对各种事件做出相应处理。

2、AWT事件处理机制:一种委派式(Delegation)事件处理方式。

AWT事件处理机制的步骤:

  • 实现事件监听器类,该监听器类是一个特殊的Java类,必须实现一个XxxListener接口。
  • 创建事件源
  • 调用addXxxListener( ) 方法将事件监听器对象注册给普通组件(事件源)。 

3、AWT事件分为两大类:低级事件和高级事件

  1、低级事件

    低级事件是指基于特定动作的事件。

  •   ComponentEvent: 组件事件,当组件尺寸发生变化、位置发生移动、显示/隐藏状态发生变化时触发该事件。
  • ContainerEvent: 容器事件,当容器发生添加组件、删除组件时触发该事件。
  • WindowEvent: 窗口事件,当窗口状态发生改变时触发该事件。
  • FoucusEvent:  焦点事件,当组件得到或则失去焦点时候触发该事件。
  • KeyEvent:  键盘事件。
  • MouseEvent:鼠标事件。
  • PaintEvent: 组件绘制事件。该事件是一个特殊的事件类型,当GUI组件调用update/paint方法来呈现自身时触发该事件,该事件并非专用于事件处理模型。

2、高级事件

    高级事件是基于语义事件,可以不和特定的动作相关联,而依赖于触发此事件的类。

  • ActionEvent:动作事件,当按钮、菜单项被单击触发该事件。
  • AdjustmentEvent: 调节事件。
  • ItemEvent:选项事件。
  • TxtEvent:文本事件。

4、事件适配器

  事件适配器是监听接口的空实现,并为该接口里的每一个方法都提供了实现。

  

时间: 2024-10-07 21:58:59

Java事件处理的相关文章

从零开始理解JAVA事件处理机制(2)

第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事件驱动模型初窥 我们要说事件驱动模型是观察者模式的升级版本,那我们就要说说其中的对应关系: 观察者对应监听器(学生) 被观察者对应事件源(教师) 事件源产生事件,监听器监听事件.爱钻牛角尖的朋友可能会说,我擦,什么叫产生事件,监听事件,事件事件到底什么? 莫慌,如果我们用代码来说事,事件源它就是个类,事件就是

从零开始理解JAVA事件处理机制(3)

我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们点击鼠标,鼠标发送指令,执行代码. 一:鼠标点击事件处理模型基础版 这个时候,我们必须去查看下JDK中相关类型.对照着上一节<从零开始理解JAVA事件处理机制(2)>中的UML图,我们很快发现,对应HomeworkListener,JDK中有MouseListener,其实我们靠分析也能得知,Mo

[转]Java事件处理机制- 事件监听器的四种实现方式

原文来自http://stefan321.iteye.com/blog/345221 自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: Java代码   import javax.swing.*; import java.awt.*; import java.awt.event.*; /** *Java事件处理机制:自身类作为事件监听器 *@author Winty([email protected]) *@version 200

Java事件处理机制1

实现一个小程序,怎样通过点击不同的按钮,让面板的背景色发生相应的变化,如图: 1 public class Demo2 extends JFrame implements ActionListener{ 2 JPanel mp=null; 3 JButton btn1,btn2; 4 5 public static void main(String[] args) { 6 Demo2 demo=new Demo2(); 7 } 8 9 public Demo2(){ 10 mp=new JPan

Java事件处理机制和适配器

最重要的是理解事件源,监视器,处理事件的接口的概念. 1.事件源:是能够产生时间的对象都可以叫事件源,比如文本框,按钮,下拉列表之类的组件. 2.监视器:事件源要产生事件,必须要有什么东西去监视它,以便作出相应啊,那就是监视器,监视器的作用是对事件源进行监视,以便对发生的时间进行处理. 事件源通过相应的方法注册自己的监听器.比如addListener(监听器); 3.处理事件的接口:监视器负责处理事件源发生的事件,监视器是一个对象,为了处理事件源发生的事件,监视器这个对象会自动调用一个方法来处理

趣味理解java事件处理逻辑

目标:当有东东走过door,就要在wall上发布这个消息. 分析:为达目标,显然需要一个对象(事件监听者)来监视door,当door有异动时,事件监听者作出反应. (1)我们请一只dog来作door的事件监听者.我们在door边,加一个事件监听者dog,用java语言表达此意思也就是:door.addActionListener(new dog()); (2)显然一只普通的dog不能胜任看门工作,要能胜任工作,必须具备看门业务技能,即必须 implements ActionListener.所以

Java事件处理上机

完成一个按钮的事件处理程序,实现功能自拟,例如:改变窗口的背景颜色,改变按钮的位置等等 package hyyy; import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.*;public class dome implements ActionListener{     JFrame f; //窗口    JPanel p;

java事件处理4(焦点,键盘

FocusEvent焦点事件 接口 addFocusListener(FocusListener listener) 有两个方法 public void focusGains(FocusEvent e) public void focusLost(FocusEvent e) 测试代码 class MyWin extends JFrame{ JTextField text1,text2; JButton button1,button2; MyWin(){ init(); setVisible(tr

java事件处理2

Document事件 这个事件有点特别,需要用getDocument()返回到自己所维护的文档,然后就可以添加监视器 (textArea1.getDocument).addDocumentListener(DocumentListener listen) DocumentListener接口有三个方法 public void changedUpdate(DocumentEvent e) public void removeUpdate(DocumentEvent e) public void i