Я пишу текстовый редактор на Java и хочу добавить к нему функцию отмены
Но без класса UndoManager мне нужно использовать структуру данных, такую как Stack или LinkedList, но класс Stack в Java использует параметры объекта, например: push (Object o), Not Push (String s) Мне нужны подсказки или ссылки. Спасибо
Предполагая, что вы используете 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, а не символ с клавиатуры
Спасибо ребята