gpt4 book ai didi

java - 如何在文本编辑器中设计撤销和重做?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:16:22 25 4
gpt4 key购买 nike

我项目的一部分是编写一个文本编辑器,用于输入一些规则、编译我的应用程序并运行它。编写编译器结束并发布测试版。在最终版本中,我们必须向文本编辑器添加撤消和重做。我使用一个文件并定期为文本编辑器保存它。如何为我的文本编辑器设计撤消和重做?文件的持久化结构发生了什么变化?

最佳答案

您可以将您的操作建模为 commands ,你把它分成两堆。一个用于撤消,另一个用于重做。你可以compose您的命令以创建更多高级命令,例如当您想要撤消宏的操作时;或者,如果您想在一次操作中对单个单词或短语的单个击键进行分组。

编辑器中的每个 Action (或重做 Action )都会生成一个新的撤消命令,该命令进入撤消堆栈(并清除重做堆栈)。每个撤消操作都会生成进入重做堆栈的相应重做命令。

你也可以,正如derekerdmann评论中提到的那样,将撤消和重做命令组合成一种命令,知道如何撤消和重做其操作。

关于java - 如何在文本编辑器中设计撤销和重做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45264495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com