Расширение UndoManager в Swing для обеспечения повтора и многократного отмены / повтора

Мне было поручено добавить в приложение функцию отмены / повторения / повторения. В настоящее время я изучаю, могу ли я использовать UndoManager в Swing.

Помимо обычных кнопок отмены и повтора, мне нужно предоставить возможность отменять или повторять несколько правок одновременно (выпадающий пользовательский интерфейс, например MS Office) и повторять выбранное редактирование.

Я считаю, что я могу использовать UndoManager для многократного отмены и повторения. Он предоставляет методы для множественных отмен и повторов. Чтобы создать пользовательский интерфейс, я могу расширить UndoManager для предоставления правок, которые он содержит.

Однако я не уверен, что могу использовать UndoManager для повторного выбора операции. Моими первыми мыслями было расширить UndoManager и добавить метод повтора (редактирования). Этот метод будет клонировать или копировать редактирование, переделывать копию, а затем помещать копию поверх стека отмены. Редактирование будет повторяться только в том случае, если будет реализовано Clonable.

Это кажется разумным? Есть ли лучшие решения? Должен ли я катить свой собственный вместо UndoManager? Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос