Extending Swing's UndoManager to provide repeat and multiple undo/redo

◇◆丶佛笑我妖孽 提交于 2019-11-30 09:43:09

问题


I've been tasked with adding undo/redo/repeat functionality to an application. I'm currently investigating whether I can use Swing's UndoManager.

Apart from the usual undo and redo buttons, I need to provide the ability to undo or redo multiple edits at once (drop down UI like MS Office), and repeat a chosen edit.

I believe I can use UndoManager for multiple undo and redo. It provides methods for multiple undo and redo. To build the UI, I can extend UndoManager to expose the edits it holds.

I'm not sure I can use UndoManager for repeat chosen operation however. My first thoughts were to extend UndoManager and add a repeat(edit) method. This method would clone or copy an edit, redo the copy, and then place the copy on top of the undo stack. An edit would only be repeatable if it implemented Clonable.

Does this seem reasonable? Are there better solutions? Should I be rolling my own instead of UndoManager? Thanks in advance.


回答1:


Hope this helps http://java-sl.com/tip_merge_undo_edits.html




回答2:


UndoManager supports an unlimited number of undo/redo operations. See the documentation

It seems reasonable to me to extends UndoManager in order to add the support for repeat, because the last edit is already there.



来源:https://stackoverflow.com/questions/12351570/extending-swings-undomanager-to-provide-repeat-and-multiple-undo-redo

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!