一切都在问题的标题.你能提供一些我们使用PropertyChangeListener和VetoableChangeListener的用例吗?
主要区别在于PropertyChangeListener应用于绑定属性同时VetoableChangeListener应用于约束属性的事实.
一个绑定的属性只是一个属性,而受限属性,听众可以表达自己关于将要做出改变的特性:他们可以拒绝发生这种变化.
它实际发生的是,当你通知一个可以撤销的财产时,你会做类似的事情
VetoableChangeSupport vcs;
vcs.fireVetoableChange(...);
Run Code Online (Sandbox Code Playgroud)
并且这可以抛出一个PropertyVetoException告诉你的bean观察者希望阻止这个属性更改(它应该回滚).