PropertyChangeListener和VetoableChangeListener有什么区别?

Dim*_*tri 7 java

一切都在问题的标题.你能提供一些我们使用PropertyChangeListener和VetoableChangeListener的用例吗?

Jac*_*ack 8

主要区别在于PropertyChangeListener应用于绑定属性同时VetoableChangeListener应用于约束属性的事实.

一个绑定的属性只是一个属性,而受限属性,听众可以表达自己关于将要做出改变的特性:他们可以拒绝发生这种变化.

它实际发生的是,当你通知一个可以撤销的财产时,你会做类似的事情

VetoableChangeSupport vcs;
vcs.fireVetoableChange(...);
Run Code Online (Sandbox Code Playgroud)

并且这可以抛出一个PropertyVetoException告诉你的bean观察者希望阻止这个属性更改(它应该回滚).