当前位置:  技术问答>java相关

我想问一下java的事件驱动机制是如何实现的,如何实现自定义的事件驱动?不够再加100!

    来源: 互联网  发布时间:2015-09-13

    本文导语:  我们知道java这样的面向对象是由事件驱动机制来运行的!我想问一下java的事件驱动机制是如何实现的,如何实现自定义的事件驱动?不够再加100! | java的授权事件模型     在授权事件模型...

我们知道java这样的面向对象是由事件驱动机制来运行的!我想问一下java的事件驱动机制是如何实现的,如何实现自定义的事件驱动?不够再加100!

|
java的授权事件模型
    在授权事件模型中,源产生一个事件,并将它传送到一个或多个接收器。接受器只是等待,直到它接收到一个事件。一旦它接收到以后,接收器处理该事件然后返回。
    事件接收器在源中注册自己!
类似于vc:
    如果你想实现自己的事件响应函数,你只要在注册监听器的同时调用自己的处理函数,相当于在vc的消息映射池,你只要把消息指向你的处理函数就可以了。如果你想实现自定义事件,你要实现一个事件Event,相当于vc的WM_USER+1,同时你还要实现事件的传递,像实现vc的自定义消息传递Notify()。

下面是一个例子:

|
其实java的事件机制十分简单,你完全可以实现自己的事件驱动;
主要涉及到如下几个类(可以参考键盘事件的有关类):
1.事件类XXXEvent,其中包含你所规定的事件的一些信息,如事件源,事件名称等等,如KeyEvent,中有eventSource,keyCode等等
2.事件监听接口,XXXEventListener,其中包含捕获到事件的类要作的事情,如KeyListener,其中包括:keyPress,keyReleased,等等
如:
public interface XXXListener{
   public void doXXXEvent(xxxEvent e);
}
3.发出事件的类:可以是任意的类,在这个类中,可以发出该事件XXXEvent,比如可以在这个类中添加一个fireXXXEvent方法,在这个方法中去手工发出事件,如:
public void fireXXXEvent(){
    java.util.Vector targets; 
    synchronized (this) {
        targets = (java.util.Vector) xxxListeners.clone();
    }
    XXXEvent evt = new XXXEvent(.....);
    for (int i = 0; i 

    
 
 

您可能感兴趣的文章:

  • java通过jdbc访问数据库流行采用何种数据库驱动程序?jdbc-odbc , InterClient , 还是“网络协议/全java驱动程序”?如有可能,请给简明
  • Java行为驱动编程框架 JDave
  • Java 驱动数据库???
  • Java加载JDBC驱动程序实例详解
  • SSDB 的 Java 驱动 ssdb4j
  • 怎么安装java需要专用的sqlserver驱动,那里有下载
  • 哪里有免费的对应MS SQL server的JAVA数据库驱动程序。
  • 听ORACLE网站上说8.1.6有支持jdbc2.0的JAVA2驱动
  • 如何实现100%的纯java数据库驱动程序安装!!200分!!200分
  • 菜鸟问题:Java可以用来开发驱动程序吗,或者说通讯、接口?或者说是否合适?
  • java开发数据库,一般是用JDBC-ODBC桥,还是JDBC驱动程序连接数据库呢?
  • 在java中怎么连接MSSQL这样的数据库?database的属性里用什么驱动?
  • 如何获取java连接oracle的驱动?
  • 我是java的初学者,请问在Jbuilder6 中如何安装oracle8.0.5的Jdbc数据库驱动?
  • 我和我的朋友机器联网了,我的我的java程序(用jdbc驱动)可以连到他的sqlserver.但不可以连到我自己的。但我的java程序(用jdbc-odbc桥)连
  • 听说java有一种数据库连接池的方式,效率比使用jdbc驱动程序高。不知是否真的这样?具体方式怎么实现?
  • android 如何在 主菜单 来一键点图标, 播放视频(产品广告),只要驱动部分的JAVA层我不写
  • SOS!java如何用jdbc与oracle相连,是否要安装相应的驱动程序
  • 请问,如何装载mssql的jdbc的驱动程序和设置java执行程序时的参数。
  • 用jdbc对access数据库进行操作时出现异常:java.sql.SQLException: [Microsoft][ODBC 驱动程序 管理器] 非法的游标状态
  • 关于java的事件问题,如何在程序中使一个button被click,从而引发这个button的事件处理代码????
  • java抓取鼠标事件和鼠标滚轮事件示例
  • Java List双击事件实现方法
  • java 事件中的GEIID()怎么用?谢谢
  • 在java中如何人工触发事件?
  • java的事件处理机制如何运用?
  • “Java的事件是从无到有,MFC的消息是从有到无。”
  • JAVA事件处理
  • 有关Java中事件
  • Java Event!!!事件!!
  • JSplitPane如何动态调整左右帧的大小?如何监听窗口变大,缩小的事件?(java中好像没有)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • java.util.Date 和 java.slq.Date 如何最简单实现互换?
  • java tomcat实现Session对象的持久化原理及配置方法介绍
  • 不太明白,利用RMI实现JAVA分布式应用 和 EJB实现JAVA分布式应用有什么区别。
  • java实现判断字符串是否全是数字的四种方法代码举例
  • 在java中如何人工触发事件? iis7站长之家
  • java序列化实现Serializable接口
  • 我是java新手,请问java中与平台相关的操作是怎样实现的
  • java中Spring框架介绍及如何实现对Bean的管理
  • java文件复制代码片断(java实现文件拷贝)
  • java Servlet实现Session创建存取以及url重写代码示例
  • 要做一个在applet,实现可以托拽的图形(比如长方形和线段等)?那位高手有资料?或者有没有java的第三方类库实现此功能?
  • java 与 C++ 实现后绑定的方法
  • XUL的Java实现 javaXUL
  • 用JAVA实现与QQ相同的功能!
  • 请问《软件工程java语言实现》一书在那里能下载
  • 如何实现Java下的回调函数!
  • Java实现的XForms Chiba
  • Java的SAMBA客户端实现 jCIFS
  • Lua 实现的 Java 虚拟机 luje
  • yaml 的 java 实现 JYaml
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3