java 事件处理
这段时间维护 oe model-editor,swing 的程序,因此接触了 java 的事件处理机制,由于 java 没有象 dotnet 那样的将 event、delegate 作为显式的语言对象来处理,因此事件的处理比起 dotnet 来,还是很不方便和直观的。 这里有一篇文章给出了三种事件处理程序的写法 http://developer.weaseek.com/2008/0819/49994617_3.shtml 作者认为第三种最好,但我觉得这需要写很多的内部类,还不是最好的模式。最好的模式是这样的:
这样,和 dotnet 中一样,每个控件的不同事件用不同的方法来处理,一般事件处理方法的方法名命名为 <控件名称><事件名称> 这样很容易定位到指定控件的事件处理方法,也不需要内部类,代码更容易阅读和维护。
- 添加事件处理方法的代码:
- okButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent evt) {
- okButtonActionPerformed(evt);
- }
- });
- 时间处理函数:
- private void okButtonActionPerformed(ActionEvent evt) {
- setTemplate(templateList.getSelectedValue().toString());
- this.setVisible(false);
- }
浙公网安备 33010602011771号