Java事件处理机制和适配器

最重要的是理解事件源监视器处理事件的接口的概念。

1.事件源:是能够产生时间的对象都可以叫事件源,比如文本框,按钮,下拉列表之类的组件。

2.监视器:事件源要产生事件,必须要有什么东西去监视它,以便作出相应啊,那就是监视器,监视器的作用是对事件源进行监视,以便对发生的时间进行处理。

事件源通过相应的方法注册自己的监听器。比如addListener(监听器);

3。处理事件的接口:监视器负责处理事件源发生的事件,监视器是一个对象,为了处理事件源发生的事件,监视器这个对象会自动调用一个方法来处理事件。被调用的这个方法就是所说的处理事件的接口中的方法。

java规定监视器这个对象的类必须声明实现相应的接口, 即必须在类体重重写接口中的所有方法,当事件源发生事件事件时,监视器就会自动调用被类重写的接口方法。

处理事件示意图:

java常用的监听接口:

此外还有MouseMotionListener,MouseWheelListener,WindowFocusListener,

WindowStateListener,监听接口。

有时候监听接口中有很多抽象方法,在实现接口的时候,需要重写所有的方法,但是我们经常只会用到其中的一个或两个,这无疑是一种劳累,多余。

于是就有了适配器类,出于简化的目的,每个还有多个方法的的监听器接口都配有一个适配器类,这个类实现了接口中的所有方法,但是每个方法没有做任何事情。

比如:

FocusAdapter,KeyAdapter,MouseAdapter,MouseMotionAdapter,

WindowAdapter.

这就提供另一种方法,就是继承适配器类,重写其中的需要使用的方法,不必重写全部的方法,简单方便。

class A extends WindowAdapter{
   pubilc void windowClosing(WinwEvent e){//重写WindowAdapter中的方法
        //处理时间代码
   }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 07:48:08

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】【事件处理机制】

import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; /* 栗子 事件监听了解*/ class Cat implements ActionListener{ public void actionPerformed(ActionEvent arg0){ if(arg0.getActionCommand().equals("黑色&qu

core java 8~9(GUI &amp; AWT事件处理机制)

MODULE 8 GUIs--------------------------------GUI中的包: java.awt.*; javax.swing.*; java.awt.event.*; 要求:1)了解GUI的开发流程:2)掌握常用的布局管理器 开发GUI图形界面的步骤-------------------------------1.选择容器 1)Frame容器 有缩小/最大化/关闭等按钮,顶层容器 2)Dialog对话框 通常依赖于容器,不单独出现 3)Applet 依赖于浏览器的支持

Java Swing事件处理机制

Java Swing的事件处理机制 Swing GUI启动后,Java虚拟机就启动三个线程,分别为主线程,事件派发线程(也是事件处理线程)和系统工具包线程. 主线程 :负责创建并显示该程序的初始界面: 系统工具包线程 :负责将从系统事件队列捕获在该程序界面上的鼠标和键盘操作等底层事件,并把这些事件转换成 Swing的相应对应事件对象放入Swing的事件队列中,并循环该线程: 事件派发线程 :负责GUI组件的绘制和更新,通过不断从事件队列中获取事件并调用事件监听器的事件处理方法来 处理事件,来进行

Java 图形界面事件处理机制

Java语言提供了一系列的用户图形界面的组件,主要有两个包:java.awt,和 javax.swing. 其中,awt包是早期包,swing包是后期提供的用户界面包. swing包组件与awt包组件的区别在于:swing包组件 通常不依赖于 当前平台GUI功能. swing组件优势:1.跨平台,2.移植性强,3.swing扩展了awt包,组件更加丰富,使用更加方便. 事件处理机制: Java中使用委托事件模型来处理事件. 委托事件模型分为三个部分:事件源.事件对象.事件监听器. 事件源:指可以

java的事件处理机制基础

java的事件处理机制在我看开是应该建立在swing的基础之上的,因为在se阶段,java的事件处理就是监听图形界面的,我说的是一般,当然也有特殊,对于事件,对于我应该不会陌生,这个事件的意义和B/S开发里面的事件是相同的,同样的也具有事件源,事件监听和事件响应,这种机制是为了更好的完成人机交互,这个东西也是在绘图防技术方面的重点,原理不是很难理解,难理解的就是事件处理的底层因素,对于这个,同样的,还是应该先完成功能,然后做一些理解.下面是我在学习过程中的一些代码: package Test;