Класс StateEdit
- Все реализуемые интерфейсы:
-
Serializable,UndoableEdit
public class StateEdit extends AbstractUndoableEdit
StateEdit — это общее редактирование объектов, которые изменяют состояние. Объекты, которые редактируются, должны соответствовать интерфейсу StateEditable.
Этот класс редактирования работает, запрашивая у объекта сохранить его состояние в Hashtables до и после редактирования. При отмене или повторении объект получает команду восстановить свое состояние из этих Hashtables.
Редактирование состояния используется следующим образом:
// 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 из Hashtables удаляются избыточные данные — таблица состояния не гарантирует наличие всех ключей/значений, помещенных в неё при сохранении состояния!
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected StateEditable |
object |
Редактируемый объект |
protected Hashtable |
postState |
Информация о состоянии после редактирования |
protected Hashtable |
preState |
Информация о состоянии перед редактированием |
protected static final String |
RCSID |
Устаревшее идентификатор версии RCS. |
protected String |
undoRedoName |
Имя представления для отмены/повторения |
Поля, объявленные в классе javax.swing.undo.AbstractUndoableEdit
RedoName, UndoName
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StateEdit |
Создать и вернуть новый StateEdit. |
StateEdit |
Создать и вернуть новый StateEdit с именем представления. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
end() |
Получает состояние объекта StateEditable после редактирования и завершает редактирование. |
String |
getPresentationName() |
Получает имя представления для этого редактирования |
protected void |
init |
Инициализировать редактирование состояния. |
void |
redo() |
Указывает редактируемому объекту применить состояние после редактирования |
protected void |
removeRedundantState() |
Удаляет избыточные ключи/значения в таблицах состояния. |
void |
undo() |
Указывает редактируемому объекту применить состояние до редактирования |
Методы, объявленные в классе javax.swing.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, 2023, 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/21/docs/api/java.desktop/javax/swing/undo/StateEdit.html