public void changedUpdate(DocumentEvent e){
  if (getUpdatePolicy() == NEVER_UPDATE || (getUpdatePolicy() == UPDATE_WHEN_ON_EDT && !SwingUtilities.isEventDispatchThread())) {
    return;
  }
  if (e instanceof AbstractDocument.UndoRedoDocumentEvent) {
    setDot(e.getOffset() + e.getLength());
  }
}

public void changedUpdate ( DocumentEvent e ) { if ( getUpdatePolicy ( ) == NEVER_UPDATE || ( getUpdatePolicy ( ) == UPDATE_WHEN_ON_EDT && ! SwingUtilities . isEventDispatchThread ( ) ) ) { return ; } if ( e instanceof AbstractDocument . UndoRedoDocumentEvent ) { setDot ( e . getOffset ( ) + e . getLength ( ) ) ; } }
gives notification that an attribute or set of attributes changed .
