Rozszerzenie UndoManager Swing, aby zapewnić powtarzanie i wielokrotne cofanie / ponawianie

Otrzymałem zadanie dodania funkcji cofania / ponawiania / powtarzania do aplikacji. Obecnie badam, czy mogę użyć UndoManagera Swinga.

Oprócz zwykłych przycisków cofania i ponawiania, muszę zapewnić możliwość cofnięcia lub ponownego wykonania wielu edycji jednocześnie (upuść interfejs użytkownika, np. MS Office) i powtórz wybraną edycję.

Wierzę, że mogę użyć UndoManager do wielokrotnego cofania i ponawiania. Zapewnia metody wielokrotnego cofania i ponawiania. Aby zbudować interfejs użytkownika, mogę rozszerzyć UndoManager, aby odsłonić edycje, które przechowuje.

Nie jestem jednak pewien, czy mogę użyć UndoManager do powtórzenia wybranej operacji. Moim pierwszym zamysłem było rozszerzenie UndoManagera i dodanie metody powtarzania (edycji). Ta metoda spowoduje klonowanie lub kopiowanie edycji, ponowne kopiowanie, a następnie umieszczenie kopii na stosie cofania. Edycja byłaby powtarzalna tylko wtedy, gdyby zaimplementowała Clonable.

Czy to wydaje się rozsądne? Czy są lepsze rozwiązania? Czy powinienem przetaczać własne zamiast UndoManager? Z góry dziękuję.

questionAnswers(2)

yourAnswerToTheQuestion