Adding Undo and Redo to a Text Component

来源:互联网 发布:网络天才手机版 编辑:程序博客网 时间:2024/05/21 10:54

 

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

原创粉丝点击