Spec-Zone.ru › OpenJDK 25

Класс StateEdit

java.lang.Object
javax.swing.undo.AbstractUndoableEdit
javax.swing.undo.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 из хеш-таблиц удаляются избыточные данные о состоянии. Хеш-таблица состояния не обязательно содержит все добавленные в неё ключи и значения, сохранённые при записи состояния!

См. также:
  • StateEditable

Краткое описание полей

Модификатор и тип Поле Описание
protected StateEditable object
Редактируемый объект
protected Hashtable<Object,Object> postState
Информация о состоянии после редактирования
protected Hashtable<Object,Object> preState
Информация о состоянии до редактирования
protected static final String RCSID
Устаревший идентификатор версии RCS.
protected String undoRedoName
Отображаемое имя для отмены/повтора

Поля, объявленные в классе 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()
Сообщает редактируемому объекту, что нужно применить состояние до редактирования

Методы, объявленные в классе AbstractUndoableEdit

addEdit, canRedo, canUndo, die, getRedoPresentationName, getUndoPresentationName, isSignificant, replaceEdit, toString

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание полей

RCSID

protected static final String RCSID
Устаревший идентификатор версии RCS.
См. также:
  • Значения константных полей

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)
Инициализирует операцию редактирования состояния.
Параметры:
anObject — объект, состояние которого нужно отслеживать
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()
Удаляет избыточные пары ключ/значение из хеш-таблиц состояния.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и правилами распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API