Adding Undo and Redo to a Text Component

王朝java/jsp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

These code examples and other materials are subject to Sun Microsystems, Inc. Legal Terms

Adding Undo and Redo to a Text Component

JTextArea textarea = new JTextArea();

final UndoManager undo = new UndoManager();

Document doc = textarea.getDocument();

//The next two lines should be in one line.

doc.addUndoableEditListener(

new UndoableEditListener() {

The next two lines should be in one line.

public void undoableEditHappened(

UndoableEditEvent evt) {

undo.addEdit(evt.getEdit());

}

});

textarea.getActionMap().put("Undo",

new AbstractAction("Undo") {

public void actionPerformed(ActionEvent evt) {

try {

if (undo.canUndo()) {

undo.undo();

}

} catch (CannotUndoException e) {

}

}

});

textarea.getInputMap().put(KeyStroke.getKeyStroke(

"control Z"), "Undo");

textarea.getActionMap().put("Redo",

new AbstractAction("Redo") {

public void actionPerformed(ActionEvent evt) {

try {

if (undo.canRedo()) {

undo.redo();

}

} catch (CannotRedoException e) {

}

}

});

textarea.getInputMap().put(KeyStroke.getKeyStroke(

"control Y"), "Redo");

Examplets TM provided by permission of the publisher, Addision-Wesley, and Author Patrick Chan.

Order this book from Amazon

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有