|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。
在新的事务模子的组件能够入手下手一个事务。每品种型的事务被一个一般的类所刻画。当事务入手下手后,它受理一个或更多事务指明“吸收器”。因而,事务源和处置事务的地点能够被分别。
每一个事务吸收器都是实行特定的吸收器范例接口的类对象。因而作为一个程序开辟者,我们所要做的是创立吸收器对象而且在被激活事务的组件中举行注册。event-firing组件挪用一个addXXXListener()办法来完成注册,以形貌XXX事务范例承受。我们能够简单地懂得到以addListened名的办法关照我们任何的事务范例都能够被处置,假如我们试图吸收事务我们会发明编译时我们的毛病。JavaBeans一样利用这类addListener名的办法往判别那一个程序能够运转。
我们一切的事务逻辑将装进到一个吸收器类中。当我们创立一个吸收器类时独一的一点限定是必需实行公用的接口。我们能够创立一个全局吸收器类,这类情形在外部类中有助于被很好地利用,不单单是由于它们供应了一个实际上的吸收器类组到它们服务的UI或营业逻辑类中,但由于(正像我们将会在本章前面看到的)现实是一个外部类保持一个句柄到它的父对象,供应了一个很好的经由过程类和子体系界限的挪用办法。
一个复杂的例子将使这统统变得明晰明白。同时思索本章前部Button2.java例子与这个例子的差别。- //:Button2New.java
- //Capturingbuttonpresses
- importjava.awt.*;
- importjava.awt.event.*;//Mustaddthis
- importjava.applet.*;
- publicclassButton2NewextendsApplet{
- Button
- b1=newButton("Button1"),
- b2=newButton("Button2");
- publicvoidinit(){
- b1.addActionListener(newB1());
- b2.addActionListener(newB2());
- add(b1);
- add(b2);
- }
- classB1implementsActionListener{
- publicvoidactionPerformed(ActionEvente){
- getAppletContext().showStatus("Button1");
- }
- }
- classB2implementsActionListener{
- publicvoidactionPerformed(ActionEvente){
- getAppletContext().showStatus("Button2");
- }
- }
- /*Theoldway:
- publicbooleanaction(Eventevt,Objectarg){
- if(evt.target.equals(b1))
- getAppletContext().showStatus("Button1");
- elseif(evt.target.equals(b2))
- getAppletContext().showStatus("Button2");
- //Letthebaseclasshandleit:
- else
- returnsuper.action(evt,arg);
- returntrue;//Wevehandledithere
- }
- */
- }///:~
复制代码
我们可对照两种办法,老的代码在左面作为注解。在init()办法里,只要一个改动就是增添了上面的两行:
b1.addActionListener(newB1());
b2.addActionListener(newB2());
按钮按下时,addActionListener()关照按钮对象被激活。B1和B2类都是实行接口ActionListener的外部类。这个接口包含一个单一的办法actionPerformed()(这意味着当事务激活时,这个举措将被实行)。注重actionPreformed()办法不是一个一般事务,说得更得当些是一个特别范例的事务,ActionEvent。假如我们想提取特别ActionEvent的信息,因而我们不必要存心往测试和下溯外型自变量。
对编程者来讲一个最好的事即是actionPerformed()非常的复杂易用。它是一个能够挪用的办法。同老的action()办法对照,老的办法我们必需指动身生了甚么和得当的举措,一样,我们会忧虑挪用基本类action()的版本而且前往一个值往指明是不是被处置。在新的事务模子中,我们晓得一切事务测试推理主动举行,因而我们不用指动身生了甚么;我们方才暗示产生了甚么,它就主动地完成了。假如我们还没有提出用新的办法掩盖老的办法,我们会很快提出。
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。 |
|