简单问题:Java中的ValueChanged事件
Java中是否存在值更改时触发的事件?就像这个例子一样简单问题:Java中的ValueChanged事件,java,events,variables,Java,Events,Variables,Java中是否存在值更改时触发的事件?就像这个例子一样 public class Example{ public String var1 = "Something"; public Int var2 = 4; } 如果var1或var2无论触发什么事件,它们的值都会更改。答案是不要公开字段。将字段设置为私有,引入getter和setter方法,如果值发生更改,您可以在setter中调用任何您喜欢的方法 public class Example { private Str
public class Example{
public String var1 = "Something";
public Int var2 = 4;
}
如果
var1
或var2
无论触发什么事件,它们的值都会更改。答案是不要公开字段。将字段设置为私有,引入getter和setter方法,如果值发生更改,您可以在setter中调用任何您喜欢的方法
public class Example {
private String var1 = "Something";
public String getVar1() {
return var1;
}
public void setVar1(String var1) {
// TODO: null guards
if (var1.equals(this.var1)) {
// No-op - no need to do anything
return;
}
this.var1 = var1;
notifyListenersOfChangeToVar1();
}
}
查看PropertyChangeListener我认为您可能正在寻找“观察者”设计模式() 这是在java中通过扩展和让想要得到通知的对象实现接口来实现的