Класс StateEdit
- java.lang.Object
-
- javax.swing.undo.AbstractUndoableEdit
-
- javax.swing.undo.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 удаляются избыточные состояния. Хэш-таблица состояния не гарантирует, что она будет содержать все ключи/значения, помещённые в неё при сохранении состояния!
- См. также:
StateEditable
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected StateEditable |
object Редактируемый объект |
protected Hashtable<Object,Object> |
postState Информация о состоянии после редактирования |
protected Hashtable<Object,Object> |
preState Информация о состоянии до редактирования |
protected static String |
RCSID |
protected String |
undoRedoName Имя представления отмены/повторного выполнения |
Поля, унаследованные от класса javax.swing.undo.AbstractUndoableEdit
RedoName, UndoName
Конструкторы
| Конструктор и описание |
|---|
StateEdit(StateEditable anObject) Создать и вернуть новый StateEdit. |
StateEdit(StateEditable anObject,
String name) Создать и вернуть новый StateEdit с именем представления. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
end() Получает состояние StateEditable объекта после редактирования и завершает редактирование. |
String |
getPresentationName() Получает имя представления для данного редактирования |
protected void |
init(StateEditable anObject,
String name) |
void |
redo() Указывает редактируемому объекту применить состояние после редактирования |
protected void |
removeRedundantState() Удаляет избыточные ключи/значения в хэш-таблицах состояния. |
void |
undo() Указывает редактируемому объекту применить состояние до редактирования |
Методы, унаследованные от класса javax.swing.undo.AbstractUndoableEdit
addEdit, canRedo, canUndo, die, getRedoPresentationName, getUndoPresentationName, isSignificant, replaceEdit, toString
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Подробное описание полей
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)
Создать и вернуть новый StateEdit.
- Параметры:
-
anObject— Объект, за которым нужно следить для изменения состояния - См. также:
StateEdit
StateEdit
public StateEdit(StateEditable anObject,
String name)
Создать и вернуть новый StateEdit с именем представления.
- Параметры:
-
anObject— Объект, за которым нужно следить для изменения состояния -
name— Имя представления для данного редактирования - См. также:
StateEdit
Подробное описание методов
init
protected void init(StateEditable anObject,
String name)
end
public void end()
Получает состояние StateEditable объекта после редактирования и завершает редактирование.
undo
public void undo()
Указывает редактируемому объекту применить состояние до редактирования
- Указано в:
-
undoв интерфейсеUndoableEdit - Переопределяет:
-
undoв классеAbstractUndoableEdit - См. также:
AbstractUndoableEdit.canUndo()
redo
public void redo()
Указывает редактируемому объекту применить состояние после редактирования
- Указано в:
-
redoв интерфейсеUndoableEdit - Переопределяет:
-
redoв классеAbstractUndoableEdit - См. также:
AbstractUndoableEdit.canRedo()
getPresentationName
public String getPresentationName()
Получает имя представления для данного редактирования
- Указано в:
-
getPresentationNameв интерфейсеUndoableEdit - Переопределяет:
-
getPresentationNameв классеAbstractUndoableEdit - Возвращает:
- пустую строку ""
- См. также:
-
AbstractUndoableEdit.getUndoPresentationName(),AbstractUndoableEdit.getRedoPresentationName()
removeRedundantState
protected void removeRedundantState()
Удаляет избыточные ключи/значения в хэш-таблицах состояния.
© 1993, 2020, 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.