`

Java中的事件监听

 
阅读更多
  1. Java中的事件监听是整个Java消息传递的基础和关键。牵涉到两类对象:事件发生者和事件监听者。事件发生者是事件的起源,它可以是一个按钮,编辑框等。事件监听者就是事件的接受者,如果要想接收某个事件,它必须对该事件的发生者说一声:嗨,哥们,有事吱一声。这个过程相当与在事件发生者那儿注册了一下。当事件发生者真的有事件发生时,就会对所有对该事件注册的所有监听者送一份参考消息说:有内幕,有内幕!!事件监听者听到后,拿过来看一下,根据这份报纸各干各的事。参考消息这份报纸就是java中的事件对象。    
  2.     具体实现呢,可以看看Button的源码。可能不好看得懂。那好我们仿照侯捷先生的作法,来模拟一个这样的事件传递:    
  3. 定义一个自己的事件:    
  4. public   MyEvnet{    
  5.     private   int   value;    
  6.     public   int   getValue(){return   value;}    
  7.     public   void   setValue(int   value){this.value=value;}    
  8. }    
  9. 做一个接口   Listenable    
  10. interface   Listenable{    
  11.     public   void   enventChanged(MyEvent   e);    
  12. }    
  13. 做一个事件发生者,此类中保存有所有在这里报到的类的引用    
  14. public   MySource{    
  15.     int   value;    
  16.     Vector   listeners=new   Vector();    
  17.     public   addListener(Listenable   l){listeners.add(l);}    
  18.     public   void   setValue(int   value){    
  19.         this.value=value;    
  20.         fireChanged();    
  21.     }    
  22.     private   void   fireChanged(){    
  23.         MyEvent   e=new   MyEvent();    
  24.         e.setValue(value);    
  25.         for(int   i=0;i <listeners.size();i++){    
  26.             Listenable   l=(Listenable)listeners.elementAt(i);    
  27.             l.eventChanged(e);    
  28.         }    
  29.     }    
  30. }    
  31. 好了,如果谁想监听MySource的value值改变了,就在MySource哪儿注册一下,然后写消息处理代码,就可以了,我们定义这样一个监听者:    
  32. MyListener   implements   Listenable{    
  33.     public   void   eventChanged(MyEvent   e){    
  34.         System.out.println( "value   changed   to:   "+e.getValue());    
  35.     }    
  36. }    
  37. 这样,当MySource的value真的改变时,就会触发此方法。    
  38.   
  39. 然后在其他代码中把MyListener注册到MySource:    
  40. MySource   ms=new   MySource();    
  41. MyListener   ml=new   MyListener();    
  42. ms.addListener(ml);    
  43. ms.setValue(10);    
分享到:
评论

相关推荐

    java自定义事件监听

    在Java编程语言中,事件监听是构建用户界面(UI)应用程序的一个关键概念。它允许程序对用户的行为作出响应,如点击按钮、选择菜单项或在文本框中输入文本。Java自定义事件监听允许开发者创建自己的事件类型并相应地...

    java GUI 事件监听

    ### Java GUI 事件监听知识点详解 #### 一、概述 在Java编程中,图形用户界面(GUI)的设计是一项重要的技能。对于初学者来说,掌握如何创建一个简单的界面,并且能够处理用户交互事件是非常必要的。本篇文章将...

    JAVA事件监听器的四种实现方式

    JAVA事件监听器是JAVA语言中的一种机制,它允许程序员在特定的事件发生时执行某些操作。事件监听器的实现方式有多种,本篇文章将介绍四种常见的事件监听器实现方式:自身类作为事件监听器、外部类作为事件监听器、...

    Java事件处理机制-事件监听器的四种实现方式.docx

    本文将详细介绍Java中事件监听器的四种实现方式:自身类作为事件监听器、外部类作为事件监听器、匿名内部类作为事件监听器以及内部类作为事件监听器。 #### 一、自身类作为事件监听器 自身类作为事件监听器是最...

    Java监听键盘鼠标全局事件[定义].pdf

    Java监听键盘鼠标全局事件 Java监听键盘鼠标全局事件是指使用Java语言来监听和处理键盘和鼠标事件的技术。这项技术广泛应用于游戏开发、自动化测试、屏幕阅读器等领域。下面是Java监听键盘鼠标全局事件的详细知识点...

    java事件监听方法和代码

    Java事件监听器即一组动作接口。如键盘事件KeyEvent对应的接口是: public interface KeyListener extends EventListener { public void keyPressed(KeyEvent ev); public void keyReleased(KeyEvent ev); public ...

    Java设计模式之监听器模式实例详解

    监听器模式是Java设计模式中的一种行为型模式,主要用于监听某些事件的发生,并在事件发生时自动执行预定义的操作。在实际开发中,监听器模式可以用于多种场景,如UI事件处理、事件广播、异步通知等。 在监听器模式...

    java一个监听器的例子

    在Java编程中,监听器...在提供的压缩包文件“05_监听器”中,可能包含更多关于Java监听器的实例代码和讲解,可以帮助深入理解这一主题。建议查看这些文件,动手实践并调试代码,以便更好地掌握Java监听器的使用。

    java监听器的实现和原理详解

    Java监听器是一种非常重要的设计模式,在Java中广泛应用于事件驱动编程。监听器模式的主要思想是将事件源和事件处理器分离,使得事件源可以独立于事件处理器,提高了系统的灵活性和可扩展性。 Java监听器的实现...

    java事件监听机制.doc

    java事件监听机制 java中的事件机制的参与者有3种角色: .event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中

    java事件和监听的区别

    #### 二、Java监听器 监听器是实现特定接口的类,用于接收并响应来自事件源的事件。监听器通常需要实现特定接口中定义的方法,这些方法会在相应的事件发生时被调用。例如,对于按钮点击事件,监听器需要实现`...

    java图形界面开发中的事件监听及事件处理

    本资源介绍了java图形界面开发中的事件监听及事件处理的相关内容,对于学习的相关人员有一定的帮助。

    Java实现时间监听

    在Java编程中,时间监听是一项重要的任务,它允许程序对系统时间的变化进行反应或执行特定操作。这通常通过注册监听器来实现,监听器是一种回调机制,当特定事件发生时,它会被调用。在Java中,我们可以使用`java....

    java事件监听器

    当你将一个类用作事件监听器时,你已经设置好一个特定的事件类型,它会用该类进行监听。接下来的操作是:一个匹配的监听器必须被加入到该组件中 组件被创建之后,可以在组件上调用如下方法来将监听器与它联系起来 ...

    java监听键盘事件

    java开发的监听键盘事件,获取并显示键盘事件

    Java Swing 常用事件和监听器接口

    下面是 Java Swing 中常用的事件和监听器接口。 1. AncestorEvent 和 AncestorListener AncestorEvent 是一种报告给子组件的事件,该事件指示子组件的添加、移除或移动操作。AncestorListener 是对应的监听器接口...

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

    本文将详细解析Java事件处理机制中事件监听器的四种实现方式:自身类作为事件监听器、外部类作为事件监听器、匿名内部类作为事件监听器以及内部类作为事件监听器。 1. **自身类作为事件监听器** 在自身类作为事件...

    java图片绘制和鼠标事件监听

    在Java编程中,图片绘制和鼠标事件监听是两个重要的概念,尤其对于开发用户界面和交互式应用程序至关重要。本文将深入探讨这两个主题,并结合一个名为"Plane"的示例,帮助初学者理解如何在Java中实现这些功能。 ...

    JAVA USB监听器

    【JAVA USB监听器】是一种基于Java编程语言实现的软件工具,其主要功能是对USB设备进行实时监控,当USB设备插入时,能够自动检测并复制指定类型的文件到预先设定的目录中。这种工具对于需要频繁从USB设备中获取特定...

    windchill交流第三篇:Windchill中的事件监听

    【标题】:“Windchill交流第三篇:Windchill中的事件监听” 在Windchill系统中,事件监听是一项核心功能,它允许系统在特定事件发生时执行预定义的逻辑或操作。这一篇我们将深入探讨Windchill如何实现事件监听,...

Global site tag (gtag.js) - Google Analytics