Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Undo и Redo


Автор: korob2001 18.2.2007, 01:21
Привет всем!
Пишу сейчас текстовый редактор на Java, для начала не сложный, что-то типа Блокнота. Решил добавить немного функциональности, и в меню внёс пункты Undo и Redo. Всё ничего бы, но пока не могу понять принципа их реализации.
Если не сложно, подскажите принцип по которому работают эти кнопки.

Заранее спасибо.

Автор: shimopus 18.2.2007, 02:16
Ну принцип примерно следующий: создается объект действие. У каждого действия должно быть антидействие. Затем создаются два стека - один для Undo, другой для Redo. Пользователь совершил какое-нибудь действие - противодействие для этого действия записалось в стек для Undo. Затем он его захотел отменить - действие записалось в стек Redo. Ну это в совсем общих словах. Подробнее можно почитать на RSDN. Вот http://rsdn.ru/article/dotnet/backforward.xml.

Автор: korob2001 18.2.2007, 03:21
Спасибо большое. Сейчас буду изучать.

Автор: hamsterKSU 18.2.2007, 03:23
а еще есть готовые примере в поставке с jdk посмотри там много чего есть с сырцами. конкретно по редактору там есть demo\jfc\Notepad\

Автор: LSD 18.2.2007, 11:53
В Java есть специальный пакет для этого: javax.swing.undo. http://java.sun.com/developer/codesamples/examplets/javax.swing.undo/236.html пример его использования.

Автор: korob2001 19.2.2007, 18:45
Цитата(LSD @  18.2.2007,  08:53 Найти цитируемый пост)
В Java есть специальный пакет для этого: javax.swing.undo. Вот пример его использования

Да, этот пакет здорово облегчил мне жизнь. Уже готовы Undo и Redo.

Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)