Мне нужна помощь в функции отмены в Java

Я пишу текстовый редактор на Java и хочу добавить к нему функцию отмены

Но без класса UndoManager мне нужно использовать структуру данных, такую ​​как Stack или LinkedList, но класс Stack в Java использует параметры объекта, например: push (Object o), Not Push (String s) Мне нужны подсказки или ссылки. Спасибо

Как сделать движок для футбольного матча? (простой вариант)
Как сделать движок для футбольного матча? (простой вариант)
Футбол. Для многих людей, живущих на земле, эта игра - больше, чем просто спорт. И эти люди всегда мечтают стать футболистом или менеджером. Но, к...
Знайте свои исключения!
Знайте свои исключения!
В Java исключение - это событие, возникающее во время выполнения программы, которое нарушает нормальный ход выполнения инструкций программы. Когда...
Лучшая компания по разработке спортивных приложений
Лучшая компания по разработке спортивных приложений
Ищете лучшую компанию по разработке спортивных приложений? Этот список, несомненно, облегчит вашу работу!
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
Фото ️🔁 Radek Jedynak 🔃 on ️🔁 Unsplash 🔃
Фото ️🔁 Radek Jedynak 🔃 on ️🔁 Unsplash 🔃
Что такое Java 8 Streams API? Java 8 Stream API
Деревья поиска (Алгоритм4 Заметки к учебнику)
Деревья поиска (Алгоритм4 Заметки к учебнику)
(1) Двоичные деревья поиска: среднее lgN, наихудшее N для вставки и поиска.
0
0
3 030
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Предполагая, что вы используете Java 5, Stack - это общий класс. Вы можете создать его экземпляр в соответствии с объектами, которые он должен содержать.

Затем вы можете использовать:

Stack<String> stack = new Stack<String>();
String string = "someString";
stack.push(string);

Также обратите внимание, что в случае, если вы используете Java 1.4 или ниже, вы все равно можете помещать объекты String в стек. Только то, что вам нужно будет явно отключить их, когда вы вытащите их (), например:

Stack stack = new Stack();
String string = "someString";
stack.push(string);

String popString = (String) stack.pop(); // pop() returns an Object which needs to be downcasted

«Структура данных», которая фактически является шаблоном, называется Memento. Это полезно, когда вам нужно сохранить несколько состояний и иметь возможность вернуться к предыдущему состоянию. Эффективное хранение данных о состояниях зависит от того, какой текстовый редактор вы используете, если умеете форматировать, то обратите внимание на шаблон Наилегчайший вес.

Хм...

Для меня это немного похоже на RTFM ;-)

Если вы используете Java 1.4.2, вам просто нужно явно В ролях ваших объектов, когда вы получаете их из своего стека:

Command cmd = (Command) stack.pop(); // same for peek() etc.

Если вы используете Java 1.5, используйте Дженерики, и нет необходимости в явном приведении типов.

Хорошо, я решаю это

Я должен вставить текст в textArea, а не символ с клавиатуры

Спасибо ребята

Другие вопросы по теме