Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Поле Описание
protected static final String RedoName
Строка, возвращаемая методом getRedoPresentationName; начиная с Java 2 Platform v1.3.1 это поле больше не используется.
protected static final String UndoName
Строка, возвращаемая методом getUndoPresentationName; начиная с Java 2 Platform v1.3.1 это поле больше не используется.

Краткое описание конструкторов

Конструктор Описание
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
Модификатор и тип Метод Описание
boolean addEdit(UndoableEdit anEdit)
Эта реализация по умолчанию возвращает false.
boolean canRedo()
Возвращает true, если это редактирование является alive, а hasBeenDone — false.
boolean canUndo()
Возвращает true, если это редактирование является alive, а hasBeenDone — true.
void die()
Устанавливает для alive значение false.
String getRedoPresentationName()
Извлекает значение из таблицы значений по умолчанию с ключом AbstractUndoableEdit.redoText и возвращает это значение, за которым следует пробел, а затем getPresentationName.
String getUndoPresentationName()
Извлекает значение из таблицы значений по умолчанию с ключом AbstractUndoableEdit.undoText и возвращает это значение, за которым следует пробел, а затем getPresentationName.
boolean isSignificant()
Эта реализация по умолчанию возвращает true.
boolean replaceEdit(UndoableEdit anEdit)
Эта реализация по умолчанию возвращает false.
String toString()
Возвращает строку, отображающую свойства этого объекта и идентифицирующую его.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

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, 2026, 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.

Spec-Zone.ru

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