快速业务通道

Java:在Bean中使用PropertyChangeSupport支持PropertyChangeListeners - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
changes = new PropertyChangeSupport(this);    public void setString(String newString) {     String oldString = ourString;     ourString = newString;     changes.firePropertyChange("ourString", oldString, newString);    }    public String getString() {     return ourString;    }    public void addPropertyChangeListener (PropertyChangeListener listener) {     changes.addPropertyChangeListener(listener);    }    public void removePropertyChangeListener (PropertyChangeListener listener) {     changes.removePropertyChangeListener (listener);    } }

Java:在Bean中使用PropertyChangeSupport支持PropertyChangeListeners - 编程入门网

MyCallBound1类(具体代码见附件)是它的一个 监听器。整个动作是这样的,点击jButton1或jButton2会触发 Button的action事件,将jButton1的test设置为文本框中的内容, 同时,目标bean的ourString属性的内容也会设置为文本框中的内 容。

MyBoundBean b = new MyBoundBean(); … public void actionPerformed(ActionEvent e) {   jButton1.setText(textBox.getText());    b.setString(textBox.getText()); }

目标 bean的属性一改变(注意,初始值是"Hello"),将会 触发propertyChange方法的执行。将文本框的内容设置为目标bean 的ourString属性的旧值,同时,将jButton2的test设置成目标 bean的ourString属性的新值。

public void propertyChange(PropertyChangeEvent e) {   if (e.getSource() == b) {     textBox.setText (e.getOldValue().toString());     jButton2.setText(e.getNewValue().toString());   } }

Java:在Bean中使用PropertyChangeSupport支持PropertyChangeListeners - 编程入门网

Java:在Bean中使用PropertyChangeSupport支持PropertyChangeListeners(3)

时间:2011-03-24 51cto博客 zhangjunhd

如果不实现PropertyChangeListener接口的话, 可以使用匿名内部类来达到同样的效果。(具体代码见附件 MyCallBound2.java)

MyBoundBean b = new MyBoundBean(); … b.addPropertyChangeListener(new PropertyChangeListener() {   public void propertyChange(PropertyChangeEvent e) {     // 这样一来,我们就可以用自己定义的名字实 现事件     ourString_propertyChange(e);    } });

这样一来,我们就可以用自己定 义的名字实现事件。

void ourString_propertyChange(PropertyChangeEvent e) {    if (e.getSource() == b) {     textBox.setText (e.getOldValue().toString());     jButton2.setText(e.getNewValue().toString());   } }

本文出自 “子 孑” 博客,请 务必保留此出处

http://zhangjunhd.blog.51cto.com/113473/36838

附件下载:

MyBoundBean.java: http://zhangjunhd.blog.51cto.com/attachment/200708/113473_ 1186136107.txt

MyCallBound1.java: http://zhangjunhd.blog.51cto.com/attachment/200708/113473_ 1186136117.txt

MyCallBound2.java: http://zhangjunhd.blog.51cto.com/attachment/200708/113473_ 1186136132.txt

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号