Класс StateEdit
- Все реализуемые интерфейсы:
Serializable, UndoableEdit
public class StateEdit extends AbstractUndoableEdit
StateEdit — это обобщённая операция редактирования для объектов, состояние которых изменяется. Редактируемые объекты должны соответствовать интерфейсу StateEditable.
Этот класс операции редактирования работает, запрашивая у объекта сохранение его состояния в хеш-таблицах до и после редактирования. При отмене или повторе операции объекту сообщается, что нужно восстановить состояние из этих хеш-таблиц.
Операция редактирования состояния используется следующим образом:
// Create the edit during the "before" state of the object
StateEdit newEdit = new StateEdit(myObject);
// Modify the object
myObject.someStateModifyingMethod();
// "end" the edit when you are done modifying the object
newEdit.end();
Обратите внимание: при завершении StateEdit из хеш-таблиц удаляются избыточные данные о состоянии. Хеш-таблица состояния не обязательно содержит все добавленные в неё ключи и значения, сохранённые при записи состояния!
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected StateEditable |
object |
Редактируемый объект |
protected Hashtable |
postState |
Информация о состоянии после редактирования |
protected Hashtable |
preState |
Информация о состоянии до редактирования |
protected static final String |
RCSID |
Устаревший идентификатор версии RCS. |
protected String |
undoRedoName |
Отображаемое имя для отмены/повтора |
Поля, объявленные в классе AbstractUndoableEdit
RedoName, UndoName
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StateEdit |
Создаёт и возвращает новый объект StateEdit. |
StateEdit |
Создаёт и возвращает новый объект StateEdit с отображаемым именем. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
end() |
Получает состояние объекта StateEditable после редактирования и завершает операцию. |
String |
getPresentationName() |
Получает отображаемое имя этой операции редактирования |
protected void |
init |
Инициализирует операцию редактирования состояния. |
void |
redo() |
Сообщает редактируемому объекту, что нужно применить состояние после редактирования |
protected void |
removeRedundantState() |
Удаляет избыточные пары ключ/значение из хеш-таблиц состояния. |
void |
undo() |
Сообщает редактируемому объекту, что нужно применить состояние до редактирования |
Методы, объявленные в классе AbstractUndoableEdit
addEdit, canRedo, canUndo, die, getRedoPresentationName, getUndoPresentationName, isSignificant, replaceEdit, toString
Подробное описание полей
RCSID
protected static final String RCSID
- См. также:
object
protected StateEditable object
preState
protected Hashtable<Object,Object> preState
postState
protected Hashtable<Object,Object> postState
undoRedoName
protected String undoRedoName
Подробное описание конструкторов
StateEdit
public StateEdit(StateEditable anObject)
- Параметры:
-
anObject— объект, состояние которого нужно отслеживать - См. также:
StateEdit
public StateEdit(StateEditable anObject, String name)
- Параметры:
-
anObject— объект, состояние которого нужно отслеживать -
name— отображаемое имя для этой операции редактирования - См. также:
Подробное описание методов
init
protected void init(StateEditable anObject, String name)
- Параметры:
-
anObject— объект, состояние которого нужно отслеживать -
name— отображаемое имя для этой операции редактирования
end
public void end()
undo
public void undo()
- Определено в:
-
undoв интерфейсеUndoableEdit - Переопределяет:
-
undoв классеAbstractUndoableEdit - См. также:
redo
public void redo()
- Определено в:
-
redoв интерфейсеUndoableEdit - Переопределяет:
-
redoв классеAbstractUndoableEdit - См. также:
getPresentationName
public String getPresentationName()
- Определено в:
-
getPresentationNameв интерфейсеUndoableEdit - Переопределяет:
-
getPresentationNameв классеAbstractUndoableEdit - Возвращает:
- пустую строку ""
- См. также:
removeRedundantState
protected void removeRedundantState()
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/undo/StateEdit.html