仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1288|回复: 19
打印 上一主题 下一主题

[学习教程] 了解下JAVA的静态绑定事务(java AWT)

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:35:30 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
关于第二点:俺问问你,如果是企业级项目的话,诸如RMI,EJB,等一些关键技术,这些难道都不需要学么?如果光是使用jsp,servlet,javabean的话。
新AWT事务模子给我们带来的一个优点就是天真性。在老的模子中我们自愿为我们的程序举措困难地编写代码。但新的模子我们能够用单一办法挪用增添和删除事务举措。上面的例子证实了这一点:
  1. //:DynamicEvents.java
  2. //ThenewJava1.1eventmodelallowsyouto
  3. //changeeventbehaviordynamically.Also
  4. //demonstratesmultipleactionsforanevent.
  5. importjava.awt.*;
  6. importjava.awt.event.*;
  7. importjava.util.*;
  8. publicclassDynamicEventsextendsFrame{
  9. Vectorv=newVector();
  10. inti=0;
  11. Button
  12. b1=newButton("Button1"),
  13. b2=newButton("Button2");
  14. publicDynamicEvents(){
  15. setLayout(newFlowLayout());
  16. b1.addActionListener(newB());
  17. b1.addActionListener(newB1());
  18. b2.addActionListener(newB());
  19. b2.addActionListener(newB2());
  20. add(b1);
  21. add(b2);
  22. }
  23. classBimplementsActionListener{
  24. publicvoidactionPerformed(ActionEvente){
  25. System.out.println("Abuttonwaspressed");
  26. }
  27. }
  28. classCountListenerimplementsActionListener{
  29. intindex;
  30. publicCountListener(inti){index=i;}
  31. publicvoidactionPerformed(ActionEvente){
  32. System.out.println(
  33. "CountedListener"+index);
  34. }
  35. }
  36. classB1implementsActionListener{
  37. publicvoidactionPerformed(ActionEvente){
  38. System.out.println("Button1pressed");
  39. ActionListenera=newCountListener(i++);
  40. v.addElement(a);
  41. b2.addActionListener(a);
  42. }
  43. }
  44. classB2implementsActionListener{
  45. publicvoidactionPerformed(ActionEvente){
  46. System.out.println("Button2pressed");
  47. intend=v.size()-1;
  48. if(end>=0){
  49. b2.removeActionListener(
  50. (ActionListener)v.elementAt(end));
  51. v.removeElementAt(end);
  52. }
  53. }
  54. }
  55. publicstaticvoidmain(String[]args){
  56. Framef=newDynamicEvents();
  57. f.addWindowListener(
  58. newWindowAdapter(){
  59. publicvoidwindowClosing(WindowEvente){
  60. System.exit(0);
  61. }
  62. });
  63. f.setSize(300,200);
  64. f.show();
  65. }
  66. }///:~
复制代码
这个例子接纳的老手法包含:
(1)在每一个按钮上附着很多于一个的吸收器。一般,组件把事务作为多外型处置,这意味着我们能够为单个事务注册很多吸收器。当在特别的组件中一个事务作为单一外型被处置时,我们会失掉TooManyListenersException(即太多吸收器非常)。
(2)程序实行时代,吸收器静态地被从按钮B2中增添和删除。增添用我们后面见到过的办法完成,但每一个组件一样有一个removeXXXListener()(删除XXX吸收器)办法来删除各类范例的吸收器。

这类天真性为我们的编程供应了更壮大的才能。
我们注重到事务吸收器不克不及包管在命令他们被增添时可被挪用(固然现实上年夜部分的实行事情都是用这类办法完成的)。
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,net网页编程Beans等等,但是我认为如果java想超越.net网页编程,那么他首先要解决的就是IDE工具的整合。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-7 06:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表