易截截图软件、单文件、免安装、纯绿色、仅160KB

Java事件机制理解及应用

1.从总体看事件机制
其实事件机制是一种处理世界的方式和方法。传统的顺序程序设计总是按照流程来安排所做的工作,而事件机制的特点在于:等待,如果有事情发生则处理之。这样的好处是顺序程序设计在没有事情做的时候也必须循环运行,做毫无效率的空的循环工作。而事件机制在没有事情的时候则可以不做任何事情的等待,从而可以释放各种资源用于其它需要的程序。其实,这和计算机的中断处理是一个想法和道理的。
事件总是和某个对象相关,即每个事件必须有一个事件源。比如,按纽按下事件必须和某个按钮相关,而绝对不会出现了一个按纽按下事件,但是没有任何按钮存在。
同时,某个事件发生了,则可能该事件会引起一些相关效果,也可能虽然发生,但不产生任何效果。即事件发生可能会被处理,也可能不会被处理。
处理一个事件的操作,可以由事件发生的事件源进行,而更多的可能是由其它对象来进行。比如,在一个窗口中的“退出”按钮被按下,该事件引起窗口的关闭,这个关闭的操作必须由窗口,而不是该按钮来进行。
事件机制中,操作事件发生后进程的主体并不会不断地查询事件是否发生,而应该等待事件源在事件发生时通知它该事件发生了。如窗口并不会不断地查询“退出”按钮是否按下,而应该在“退出”按钮按下事件发生时由该按钮通过某种方式来通知窗口事件发生了。
对于事件源而言,需要知道其事件发生的主体可能没有,可能有一个,也可能有多个。所以,当事件发生时,一般性地“说”:事件发生了,并给出事件发生的相关信息是事件源的责任,但哪些主体需要得到该通知则不是事件源的责任,而是其它主体的责任。即:需要监控某个事件源事件是否发生的主体必须负责监听事件源事件是否发生。
同一个事件源可以发生多种事件,同一类事件可以由不同的事件源引起。比如,按纽可以发生“按下”、“释放”、“获得焦点”等多个事件。而“获得焦点”事件也可以由按钮、窗体、列表框等多个事件源引起。
因此,事件处理机制必须表达和处理好这么几个东西:事件源,描述可能引起事件的对象的所有属性,包括在事件发生时发出通知。事件,描述和处理事件的所有信息。主体,负责对其关心的事件发生后的处理。事件监听,负责监听主体关心的事件源是否发生相关的事件,并在事件发生时将事件的信息传递给主体。
2.Java的事件处理机制概览
根据事件处理机制的总体情况,Ja


相关文档:

java中的值传递和"引用传递"

值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值。
"引用传递":也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改 ......

JAVA里 apache,tomcat,jboss 服务器

tomcat为一个jsp和servlet的容器,但它除了这个外还自带了web服务器。也就是说,它既是servlet容器,也是一个web服务器。
它是用java编写的,用来执行servlet和jsp的,但处理静态资源上apache等专业服务器功能那么强。所以很多人愿意将两者结合起来使用。tomcat处理动态页面,而appache处理静态资源,这样两者各取所长。另 ......

Java中 ArrayList、Vector和LinkedList 的使用


/*
ArrayList是最常用的List实现类,内不是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能含有“空隙”,当数组大小不满足时需要增加存储能力,就要将已有数组数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动,代价比较高。因 ......

Java json lib

Java json lib
根据http://www.javaeye.com/topic/561368谈到的一个jackson的json序列化工具性能比json-lib等要好
无论是在低并发还是高并发的情况下,时间性能上,jackson使用重用ObjectMapper方式大大优于使用json-lib方式,甚于jackson使用非重用ObjectMapper方式也略优于json-lib方式。另外也可以看出,jackson在重用 ......

java常用包

1、java.lang包:java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包
2、java.io包:java语言的标准输入/输出类库,如基本输入/输出流、文件输入/输出、过滤输入/输出流等等
3、java.util包:包含如处理时间的date类,处理变成数 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号