Java 使用Bean PropertyChangeListeners和psuedo属性进行事件通知
我知道属性不一定与类中的任何特定变量相关。这样做除了看起来很奇怪之外,其他类可以利用PropertyChangeListeners,比如在幕后有没有我遗漏的bean?(其思想是,我们希望听到文件何时更改,因此我们制作了一个“假属性”,当文件更改时该属性“已更改”,侦听器调用相应的方法来读取文件。)Java 使用Bean PropertyChangeListeners和psuedo属性进行事件通知,java,events,listener,javabeans,Java,Events,Listener,Javabeans,我知道属性不一定与类中的任何特定变量相关。这样做除了看起来很奇怪之外,其他类可以利用PropertyChangeListeners,比如在幕后有没有我遗漏的bean?(其思想是,我们希望听到文件何时更改,因此我们制作了一个“假属性”,当文件更改时该属性“已更改”,侦听器调用相应的方法来读取文件。) 如果有人知道一个更好的方法,我想也很高兴知道。这听起来像是对真正问题的一个粗暴的攻击。即使使用一个真正的基于可观察/声明的系统,我也不知道使用这样的通用属性有什么好的理由。如果你真的想追求这样一个模型
如果有人知道一个更好的方法,我想也很高兴知道。这听起来像是对真正问题的一个粗暴的攻击。即使使用一个真正的基于可观察/声明的系统,我也不知道使用这样的通用属性有什么好的理由。如果你真的想追求这样一个模型,考虑一个<代码> ObjutWrtReCutNo.<代码>属性——至少这个意图是已知的,并且有一个“绑定”的值。只创建一个新类型的事件和侦听器可能是合适的。当我第一次开始研究这个问题时,我对事件和听众都是相当陌生的,但现在我发现它们并不像看上去那么复杂,这可能是最好的途径。
private PropertyChangeSupport pcs;
//Constructor omitted
public Object getMyProperty() {
return null;
}
public void setMyProperty() {}
public void writeToAFile(String input) {
//code omitted, writes the string input to some file.
pcs.firePropertyChange("myProperty", null, null);
}