Handling a Vetoable Property Change Event Vetoable property change events are fired when a constrained property is changed. A listener can veto the change by throwing PropertyVetoException. bean.addVetoableChangeListener( new MyVetoableChangeListener()); class MyVetoableChangeListener implements VetoableChangeListener { public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException { Object oldValue = evt.getOldValue(); Object newValue = evt.getNewValue(); if (!process(oldValue, newValue)) { throw new PropertyVetoException( "message", evt); } } }