三颗纽扣

世界上最宽广的是海洋,比海洋更宽广的是天空,比天空更宽广的是人的胸怀

导航

java 事件处理

这段时间维护 oe model-editor,swing 的程序,因此接触了 java 的事件处理机制,由于 java 没有象 dotnet 那样的将 event、delegate 作为显式的语言对象来处理,因此事件的处理比起 dotnet 来,还是很不方便和直观的。 这里有一篇文章给出了三种事件处理程序的写法 http://developer.weaseek.com/2008/0819/49994617_3.shtml 作者认为第三种最好,但我觉得这需要写很多的内部类,还不是最好的模式。最好的模式是这样的:
  1. 添加事件处理方法的代码:
  2.         okButton.addActionListener(new ActionListener() {
  3.                 public void actionPerformed(ActionEvent evt) {
  4.                         okButtonActionPerformed(evt);
  5.                 }
  6.         });

  7. 时间处理函数:
  8.         private void okButtonActionPerformed(ActionEvent evt) {
  9.                 setTemplate(templateList.getSelectedValue().toString());
  10.                 this.setVisible(false);
  11.         }

这样,和 dotnet 中一样,每个控件的不同事件用不同的方法来处理,一般事件处理方法的方法名命名为 <控件名称><事件名称> 这样很容易定位到指定控件的事件处理方法,也不需要内部类,代码更容易阅读和维护。

posted on 2009-02-20 13:59  三颗纽扣  阅读(237)  评论(0)    收藏  举报