JavaBeans的PropertyChangeListener系列类用法
来源:互联网 发布:mac什么浏览器最好用 编辑:程序博客网 时间:2024/05/21 06:02
类图如下:
顺序图如下:
示例代码如下:
import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.beans.PropertyChangeSupport;public final class PropertyChanger{ public PropertyChanger() { // TODO Auto-generated constructor stub pcs = new PropertyChangeSupport(this); pcs.addPropertyChangeListener(new UnnamedPropertyChangeListener(this)); pcs.addPropertyChangeListener("name", new PropertyChangeListenerWithName(this)); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub PropertyChanger pc = new PropertyChanger(); pc.run(); } public void run() { setName("virus"); setId(1); } public String getName() { return name; } public void setName(String name) { String oldName = this.name; this.name = name; pcs.firePropertyChange("name", oldName, name); } public int getId() { return id; } public void setId(int id) { int oldId = this.id; this.id = id; pcs.firePropertyChange("id", oldId, id); } private PropertyChangeSupport pcs; private String name = "world"; private int id = 0;}class UnnamedPropertyChangeListener implements PropertyChangeListener{ /** * @param changer */ public UnnamedPropertyChangeListener(PropertyChanger changer) { super(); this.changer = changer; } @Override public void propertyChange(PropertyChangeEvent evt) { // TODO Auto-generated method stub if (evt.getSource() == changer) { if (evt.getPropertyName().equals("name") || evt.getPropertyName().equals("id")) { System.out.println("My new " + evt.getPropertyName() + " is: " + evt.getNewValue() + "."); } else { System.out.println("Unlnown property."); } } } private PropertyChanger changer;}class PropertyChangeListenerWithName implements PropertyChangeListener{ /** * @param changer */ public PropertyChangeListenerWithName(PropertyChanger changer) { super(); this.changer = changer; } @Override public void propertyChange(PropertyChangeEvent evt) { // TODO Auto-generated method stub if (evt.getSource() == changer) { if (evt.getPropertyName().equals(propName)) { System.out.println("Hello, " + evt.getNewValue() + " !"); } else { System.out.println("Unlnown property."); } } } private PropertyChanger changer; private final String propName = "name";}
- JavaBeans的PropertyChangeListener系列类用法
- java的PropertyChangeListener
- 关于JavaBean的PropertyChangeListener
- PropertyChangeListener
- PropertyChangeListener
- java propertyChangeListener 观察者模式的实现
- PropertyChangeListener关联属性的简单介绍
- JavaBeans技术的应用
- JavaBeans的属性
- javabeans的运用
- javabeans的运用
- javabeans的运用
- JavaBeans的使用
- JavaBeans
- Javabeans
- javabeans
- Javabeans
- JavaBeans
- java序列化的作用
- 精选经典情歌荟萃26首
- win socket编程下连接错误 VC6.0
- POJO和javabean的异同
- vc6.0 通过ADO(udl)连接sql 2008
- JavaBeans的PropertyChangeListener系列类用法
- 工厂方法模式与抽象工厂模式
- poj 2923 Relocation 状态压缩
- Overload和Override的区别
- Photoshop使用直方图分析图像色彩
- hdu 4417 Super Mario--二分--划分树
- CentOS基础命令
- ffmpeg裁剪合并视频
- Delphi与各数据库数据类型比较