2014-02-18 62 views
1

我想向我的应用程序添加一个“撤消”功能,该功能将最后输入的数字删除到一个字段中。 这就是我到目前为止Java中的撤消功能

 private void btnUndo(java.awt.event.ActionEvent evt) {       
    // TODO add your handling code here: 


    final UndoManager manager = new UndoManager(); 

    if (evt.getActionCommand().equals("Undo")) { 

     try { 
      manager.undo(); 
     } catch (CannotUndoException ex) { 
      ex.printStackTrace(); 
     } 

    } 



}  

任何想法? (我不知道这是否正确与否)

感谢

的UndoManager

http://www.java2s.com/Code/Java/Swing-JFC/Undomanager.htm

Java文档

+1

HTTP://www.javaworld。 com/article/2076698/core-java/add-an-undo-redo-function-to-your-java-apps-with-swing.html – Leo

+0

http://docs.oracle.com/javase/tutorial上的另一个示例/ uiswing /实例/组件/ TextComponentDemoProject/SRC /组件/ TextComp onentDemo.java,在http://docs.oracle.com/javase/tutorial/uiswing/components/generaltext.html#undoredoactions中解释,并且已经在处理文本文档。如果这不是你正在寻找的,你可能想指出为什么你特别要求输入*数字* ... – Marco13

+0

如果你想以正确的方式做到这一点,有一个设计模式,它用于那么,这里是关于命令设计模式http://java.dzone.com/articles/design-patterns-command的教程。对于用户插入的每个数字,只需将其封装在一个命令中,并且由于可以继续跟踪执行的命令,所以可以撤消 –

回答