简单问题:Java中的ValueChanged事件

时间:2011-03-20 16:00:04

标签: java events variables

当值发生变化时,Java中是否会触发事件?就像在这个例子中一样

public class Example{
    public String var1 = "Something";
    public Int var2 = 4;
}

如果var1var2他们的值发生变化,那么该事件应该触发。

3 个答案:

答案 0 :(得分:3)

答案是不要公开公开您的字段。将字段设为私有,引入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();
    }
}

答案 1 :(得分:2)

答案 2 :(得分:0)

我认为您可能正在寻找“观察者”设计模式(Wikipedia Entry

这是通过扩展Obserable在java中实现的,并且让想要通知的对象实现Observer接口。