代码之家  ›  专栏  ›  技术社区  ›  Dimitri

PropertyChangeListener和VetoTableChangeListener有什么区别?

  •  7
  • Dimitri  · 技术社区  · 14 年前

    一切都在问题的标题中。 您能提供一些使用propertychangelistener和vetoablechangelistener的用例吗?

    2 回复  |  直到 14 年前
        1
  •  8
  •   Jack    14 年前

    主要的区别在于 PropertyChangeListener 应用于 跳跃 属性while VetoableChangeListener 应用于 约束的 性质。

    绑定属性 只是一个财产,而 约束的 属性是一种属性,监听器可以在该属性上对将要进行的更改表达自己:他们可以拒绝发生此更改。

    实际上,当你通知可否决的财产变更时,你会做一些类似的事情

    VetoableChangeSupport vcs;
    vcs.fireVetoableChange(...);
    

    这会使 PropertyVetoException 它将告诉be an观察者希望阻止这个属性更改(应该回滚)。

        2
  •  1
  •   Simon    14 年前

    可否决的更改侦听器可以否决(禁止)属性更改。如果接收者愿意,它将被回滚。也可以将约束附加到已更改的属性。 http://java.sun.com/j2se/1.4.2/docs/api/java/beans/VetoableChangeListener.html