关于JPopupMenu的firePropertyChange方法的问题

alanytam 2008-03-12 11:04:11
JPopupMenu中的firePropertyChange()方法是怎样一个实现机制???可以用firePropertChange("visible", true, false)这个方法来讲一下吗?谢了!
...全文
306 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
terryzero 2009-02-12
  • 打赏
  • 举报
回复
当一个应用程式或用户改变了按钮的字体时,这个动作就执行了MyButton.setFont方法。因为firePropertyChange方法对于变化了的属性的新值和旧值都需要, setFont方法首先通过调用getFont方法获得旧值,之后配置新值,改变了原先的值之后,再调用changes.firePropertyChange方法通知感兴趣的监听者。changes.firePropertyChange方法传递了三个参数:发生变化的属性名,属性的旧值,该属性的新值。

public void setFont(Font f) {
Font old = getFont();
super.setFont(f);
sizeToFit();
changes.firePropertyChange(
"font", old, f);
}

对于firePropertyChange方法来说,他完成了哪些事情?该方法把他的三个参数绑定到一个PropertyChangeEvent对象中。之后把PropertyChangeEvent对象作为参数,调用propertyChange方法。把PropertyChangeEvent对象传递给每个注册过的监听者。记住:propertyChange把属性的旧值和新值作为对象值对待。这一点很重要,假如您的属性值是个简单类型,您就必须对该类型重新定义为对象,例如,一个简单的整数类型,在调用firePropertyChange之前,就要转化为java.lang.Integer。
记住:对于关联属性来说,首先是属性值发生变化,之后才发送属性变化事件。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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