Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 пример его использования. |