仓酷云
标题:
发布一篇Merlin的魔力: 静态事务监听器代办署理
[打印本页]
作者:
精灵巫婆
时间:
2015-1-18 11:17
标题:
发布一篇Merlin的魔力: 静态事务监听器代办署理
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。
一切Swing组件都是JavaBeans组件。它们有一系列的setter和getter办法,这些办法的相似于voidsetXXX(范例名)和TypegetXXX()。关于这些办法没有甚么出格的地方,而且正如所预期的,它们遵守JavaBeans的属人命名标准。我们明天要会商的是JavaBeans组件的一个方面,即一对监听器办法addXXXListener(XXXListenername)和removeXXXListener(XXXListenername)。XXListener在这里指的是一个监听器对象,它扩大了EventListener接口,期待与监听器联系关系的组件中的各类事务产生。当事务产生时,一切注册的监听器城市失掉事务的关照(没有特定的按次)。经由过程把戏般的一个小反射(reflection)和一个新的java.beans.EventHandler类,您能够将一个监听器附加到一个bean上,而无需间接完成这个监听器接口大概创立那些烦人的小匿名外部类。
之前的办法
在深切到利用新的EventHandler类的细节之前,让我们回忆一下不利用这个类时是怎样举行事情的。我们举一个对Swing框架中的按钮选择做出呼应的复杂例子。选择一个按钮天生一个ActionEvent。要对这个事务做出呼应,必要将ActionListener附加到这个按钮上,如清单1所示:
清单1.监听尺度按钮选择
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassButtonSelectionextendsJFrame{
publicButtonSelection(){
super("Selection");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JButtonbutton=newJButton("PickMe");
ContainercontentPane=getContentPane();
contentPane.add(button,BorderLayout.CENTER);
button.addActionListener(
newActionListener(){
publicvoidactionPerformed(ActionEvente){
System.out.println("Hello,World!");
}
}
);
}
publicstaticvoidmain(Stringargs[]){
JFrameframe=newButtonSelection();
frame.setSize(200,100);
frame.show();
}
}
这里没有任何奇妙的地方,您大概已熟习这类代码了。这里,ActionListener完成是合时界说的,它界说为一个匿名外部类,并间接附加到按钮上。在选择这个按钮时,字符串Hello,World!就打印到把持台中。与程序联系关系的屏幕如所示:
.带ActionListener的按钮选择
登录/注册后可看大图
0H2253628-0.jpg
(3.32 KB, 下载次数: 13)
下载附件
保存到相册
发布一篇Merlin的魔力: 静态事务监听器代办署理
2015-1-18 11:17 上传
在JavaBeans标准中,没有请求您创立匿名外部类举行事务监听。IDE工具经常接纳这类举动:您说要一个监听器,它就天生一个stub,然后您填进细节。完成一样事情的其他体例包含在挪用类中供应指定的完成大概完成您本人的接口。
界说了每个完成类后,就会创立一个独自的.class文件。以是,在后面的ButtonSelection程序中,您会看到编译器天生两个.class文件:ButtonSelection.class和ButtonSelection$1.class。$1是Sun编译器定名匿名外部类的体例,计数跟着每个类增添。其他编译器大概有分歧的定名体例。
<p>
轮性能微软曾做过一个例子,就是同一个项目用java和.net网页编程来作,结果开发周期,.net网页编程是java的一半,性能java是.net网页编程的十分之一,代码量java是.net网页编程的三倍。呵呵,这说明了什么,.net网页编程的全方位比java好。但是有的人说.net网页编程不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net网页编程很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net网页编程,只是推出了跨语言的.net网页编程,
作者:
愤怒的大鸟
时间:
2015-1-20 19:37
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
作者:
简单生活
时间:
2015-1-22 05:40
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者:
冷月葬花魂
时间:
2015-1-24 12:38
是一种使用者不需花费很多时间学习的语言
作者:
兰色精灵
时间:
2015-1-25 21:40
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者:
爱飞
时间:
2015-1-31 05:00
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者:
精灵巫婆
时间:
2015-2-6 17:22
Java是一种计算机编程语言,拥有跨平台、面向对java
作者:
海妖
时间:
2015-2-8 09:54
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者:
再见西城
时间:
2015-2-21 08:36
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者:
第二个灵魂
时间:
2015-3-6 12:05
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
作者:
乐观
时间:
2015-3-9 21:41
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者:
蒙在股里
时间:
2015-3-17 01:26
是一种突破用户端机器环境和CPU
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2