使用Java了解用于撤消/重做的堆栈

时间:2017-07-13 02:13:27

标签: java stack undo redo

我知道在撤消/重做文本类型编辑器上有很多信息,我已经阅读了很多信息,但仍然不了解如何将其应用到我的代码中。

我使用链接列表来保存句子的第一部分,输入第一部分后的每个单词都可以添加,删除,撤消或重做到链接列表。

在添加过程中推送命令和单词我理解,操作撤消和重做我理解。

当我执行add或delete命令时,重做堆栈将为空。

我不明白的是如何将要从列表中删除的命令和数据推送到撤消堆栈。

我正在使用的代码片段如下:

    case "delete"://removes linked list node with the string specified on undo stack.
        if(!undo.isEmpty()){    
        undo.topAndPop();//removes the previous command/choice off the undo stack.
        temp = undo.top();//reads the data on the next stack segment after the command is gone.
        readme.listRemove(temp);//removes the data from the linked list.
        undo.pop();//removes the tos data
        redo.makeEmpty();//empties redo stack.
        }else break;
        break;

0 个答案:

没有答案