How to Write an Undoable Edit Listener

 <  Day Day Up  >  

Undoable edit events occur when an operation that can be undone occurs on a component. Currently only text components fire undoable edit events, and then only indirectly. The text component's document fires the events. For text components , undoable operations include inserting characters, deleting characters , and modifying the style of text. Programs typically listen to undoable edit events to assist in the implementation of undo and redo commands.

Here's the undoable edit event handling code from an application called TextComponentDemo . [36]

[36] The source code, TextComponentDemo.java , is on the CD at: JavaTutorial/uiswing/components/example-1dot4/TextComponentDemo.java .

 ... //where initialization occurs document.addUndoableEditListener(new MyUndoableEditListener()); ... protected class MyUndoableEditListener implements UndoableEditListener {     public void undoableEditHappened(UndoableEditEvent e) {         //Remember the edit and update the menus         undo.addEdit(e.getEdit());         undoAction.updateUndoState();         redoAction.updateRedoState();     } } 

For a discussion about the undoable edit listener aspect of the program see Implementing Undo and Redo (page 68) in Chapter 3.

The Undoable Edit Listener API

Table 42 lists the only method in the UndoableEditListener interface and Table 43 describes the methods in the UndoableEditEvent class. Note that UndoableEditListener has no corresponding adapter class. Also refer to the UndoableEditListener API documentation at: http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/event/UndoableEditListener.html. The UndoableEditEvent API documentation is online at: http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/event/UndoableEditEvent.html.

Table 42. The UndoableEditListener Interface

Method

Purpose

undoableEditHappened(UndoableEditEvent)

Called when an undoable event occurs on the listened-to component.

Table 43. The UndoableEditEvent Class

Method

Purpose

 Object getSource() (  in  java.util.EventObject) 

Return the object that fired the event.

UndoableEdit getEdit()

Return an UndoableEdit object that represents the edit that occurred and contains information about and commands for undoing or redoing the edit.

Examples That Use Undoable Edit Listeners

The following table lists the example that uses undoable edit listeners.

Example

Where Described

Notes

TextComponentDemo

Implementing Undo and Redo (page 68)

Implements undo and redo on a text pane with help from an undoable edit listener.

 <  Day Day Up  >  


JFC Swing Tutorial, The. A Guide to Constructing GUIs
The JFC Swing Tutorial: A Guide to Constructing GUIs (2nd Edition)
ISBN: 0201914670
EAN: 2147483647
Year: 2004
Pages: 171

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net