ui/src/main/java/ucar/util/prefs/ui/Field.java
public void addPropertyChangeListener( PropertyChangeListener pcl) {
    if (listenerList == null)
      listenerList = new javax.swing.event.EventListenerList();
    listenerList.add(PropertyChangeListener.class, pcl);
  }
public void addPropertyChangeListener( PropertyChangeListener pcl) {
    if (listenerList == null)
      listenerList = new javax.swing.event.EventListenerList();
    listenerList.add(PropertyChangeListener.class, pcl);
  }
Register for PropertyChange events when the value of the Field changes.
When accept() is called,
you will get a new PropertyChangeEvent(this, fldName, oldValue, newValue), where
the oldValue, newValue will be String, Integer, Boolean, etc.