Class ExtendedUndoManager

  • All Implemented Interfaces:
    java.io.Serializable, java.util.EventListener, javax.swing.event.UndoableEditListener, javax.swing.undo.UndoableEdit

    public class ExtendedUndoManager
    extends javax.swing.undo.UndoManager
    implements javax.swing.event.UndoableEditListener
    An extension of UndoManager that provides two additional features: (1) The ability to add & remove listeners and (2) the ability to gain more extensive access to the edits being managed. See: O'Reilly's Java Swing (1st edition).

    Modified by: Joseph A. Huwaldt, Date: February 22, 2025

    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean addEdit​(javax.swing.undo.UndoableEdit anEdit)
      Add an edit and notify our listeners.
      void addUndoableEditListener​(javax.swing.event.UndoableEditListener l)
      Add a listener to be notified each time an edit is added to this manager.
      javax.swing.undo.UndoableEdit editToBeRedone()
      Returns the the next significant edit to be redone if redo is called.
      javax.swing.undo.UndoableEdit editToBeUndone()
      Returns the the next significant edit to be undone if undo is called.
      javax.swing.undo.UndoableEdit[] getEdits()
      Return the complete list of edits in an array.
      javax.swing.undo.UndoableEdit[] getRedoableEdits()
      Return all currently significant redoable edits.
      javax.swing.undo.UndoableEdit[] getUndoableEdits()
      Return all currently significant undoable edits.
      void removeUndoableEditListener​(javax.swing.event.UndoableEditListener l)
      Remove a listener from this manager.
      void undoableEditHappened​(javax.swing.event.UndoableEditEvent ev)
      When an edit is sent to us, call addEdit() to notify any of our listeners.
      • Methods inherited from class javax.swing.undo.UndoManager

        canRedo, canUndo, canUndoOrRedo, discardAllEdits, end, getLimit, getRedoPresentationName, getUndoOrRedoPresentationName, getUndoPresentationName, redo, setLimit, toString, undo, undoOrRedo
      • Methods inherited from class javax.swing.undo.CompoundEdit

        die, getPresentationName, isInProgress, isSignificant
      • Methods inherited from class javax.swing.undo.AbstractUndoableEdit

        replaceEdit
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • editToBeUndone

        public javax.swing.undo.UndoableEdit editToBeUndone()
        Returns the the next significant edit to be undone if undo is called. May return null.
      • editToBeRedone

        public javax.swing.undo.UndoableEdit editToBeRedone()
        Returns the the next significant edit to be redone if redo is called. May return null.
      • getEdits

        public javax.swing.undo.UndoableEdit[] getEdits()
        Return the complete list of edits in an array.
        Returns:
        The complete list of edits in an array.
      • getUndoableEdits

        public javax.swing.undo.UndoableEdit[] getUndoableEdits()
        Return all currently significant undoable edits. The first edit is the next one to be undone.
        Returns:
        All currently significant undoable edits.
      • getRedoableEdits

        public javax.swing.undo.UndoableEdit[] getRedoableEdits()
        Return all currently significant redoable edits. The first edit is the next one to be redone.
        Returns:
        All currently significant redoable edits.
      • addEdit

        public boolean addEdit​(javax.swing.undo.UndoableEdit anEdit)
        Add an edit and notify our listeners.
        Specified by:
        addEdit in interface javax.swing.undo.UndoableEdit
        Overrides:
        addEdit in class javax.swing.undo.UndoManager
        Parameters:
        anEdit - An edit and notify our listeners.
      • undoableEditHappened

        public void undoableEditHappened​(javax.swing.event.UndoableEditEvent ev)
        When an edit is sent to us, call addEdit() to notify any of our listeners.
        Specified by:
        undoableEditHappened in interface javax.swing.event.UndoableEditListener
        Overrides:
        undoableEditHappened in class javax.swing.undo.UndoManager
      • addUndoableEditListener

        public void addUndoableEditListener​(javax.swing.event.UndoableEditListener l)
        Add a listener to be notified each time an edit is added to this manager. This makes it easy to update undo/redo menus as edits are added.
        Parameters:
        l - The listener to be notified each time an edit is added to this manager.
      • removeUndoableEditListener

        public void removeUndoableEditListener​(javax.swing.event.UndoableEditListener l)
        Remove a listener from this manager.
        Parameters:
        l - The listener to be notified each time an edit is added to this manager.