JavaBean 得Bound 属性。

shclhs 2004-11-18 09:39:33
我在学习JavaBean,但是对javaBean的Bound 属性 不理解。我参照一点例子,写了下面一个程序。可是运行总是不成功,还望大家能帮我看看,那里不对。

第一个类

package untitled1;

public class Untitled1 {
public Untitled1() {
}
public static void main(String args[]){
BoundBean bb = new BoundBean();
bb.setName("Change");
}
}

第二个类

package untitled1;

import java.beans.*;

public class BoundBean {

private String name = null;

private PropertyChangeSupport pcs = new PropertyChangeSupport(this);

private ListenBean lb = new ListenBean();

public BoundBean() {
}

public void addPropertyChangeListener(PropertyChangeListener argPCL) {
if (pcs == null) {
pcs = new PropertyChangeSupport(this);
}

pcs.addPropertyChangeListener(argPCL);
}

public void removePropertyChangeListener(PropertyChangeListener argPCL) {
if (pcs == null) {
pcs = new PropertyChangeSupport(this);
}

pcs.removePropertyChangeListener(argPCL);
}

public void setName(String argName) {
String oldValue = name;
name = argName;
pcs.firePropertyChange("name", oldValue, argName);
System.out.println(argName);
}

public String getName() {
return name;
}
}

第三个类

package untitled1;

import java.beans.*;

public class ListenBean implements PropertyChangeListener {

public ListenBean() {
}

public void propertyChange(PropertyChangeEvent evt) {
System.out.println("Success");
}
}


执行结果:只打印 Change ,没有打印 Success

希望大家多多帮助。
...全文
81 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shclhs 2004-11-19
  • 打赏
  • 举报
回复
第一个类

package untitled1;

public class Untitled1 {
public Untitled1() {
}
public static void main(String args[]){
BoundBean bb = new BoundBean();
bb.addPropertyChangeListener(new ListenBean());
bb.setName("Change");
}
}

第二个类

package untitled1;

import java.beans.*;

public class BoundBean {

private String name = null;

private PropertyChangeSupport pcs = new PropertyChangeSupport(this);

private ListenBean lb = new ListenBean();

public BoundBean() {
}

public void addPropertyChangeListener(PropertyChangeListener argPCL) {
if (pcs == null) {
pcs = new PropertyChangeSupport(this);
}

pcs.addPropertyChangeListener(argPCL);
}

public void removePropertyChangeListener(PropertyChangeListener argPCL) {
if (pcs == null) {
pcs = new PropertyChangeSupport(this);
}

pcs.removePropertyChangeListener(argPCL);
}

public void setName(String argName) {
String oldValue = name;
name = argName;
pcs.firePropertyChange("name", oldValue, argName);
System.out.println(argName);
}

public String getName() {
return name;
}
}

第三个类

package untitled1;

import java.beans.*;

public class ListenBean implements PropertyChangeListener {

public ListenBean() {
}

public void propertyChange(PropertyChangeEvent evt) {
System.out.println("Success");
}
}


加了,可是执行结果是这样的

Success
Change

难道对嘛?


各位如果有这方面的例子,可以给我参考参考嘛
lzl123 2004-11-19
  • 打赏
  • 举报
回复
试试在第一个类的main方法中加上一句
bb.addPropertyChangeListener(new ListBean());
这句话必须在bb.setName("Change");之前

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧