Класс VetoableChangeSupport
- Все реализованные интерфейсы:
Serializable
public class VetoableChangeSupport extends Object implements Serializable
PropertyChangeEvent. Вы можете использовать экземпляр этого класса в качестве поля компонента и делегировать ему выполнение этих задач. VetoableChangeListener можно зарегистрировать для всех свойств или для свойства с указанным именем. Ниже приведен пример использования VetoableChangeSupport в соответствии с правилами и рекомендациями спецификации JavaBeans:
public class MyBean {
private final VetoableChangeSupport vcs = new VetoableChangeSupport(this);
public void addVetoableChangeListener(VetoableChangeListener listener) {
this.vcs.addVetoableChangeListener(listener);
}
public void removeVetoableChangeListener(VetoableChangeListener listener) {
this.vcs.removeVetoableChangeListener(listener);
}
private String value;
public String getValue() {
return this.value;
}
public void setValue(String newValue) throws PropertyVetoException {
String oldValue = this.value;
this.vcs.fireVetoableChange("value", oldValue, newValue);
this.value = newValue;
}
[...]
}
Экземпляр VetoableChangeSupport является потокобезопасным.
Этот класс сериализуем. При сериализации он сохраняет (и восстанавливает) все слушатели, которые сами являются сериализуемыми. Несериализуемые слушатели пропускаются при сериализации.
- С момента:
- 1.1
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
VetoableChangeSupport |
Создает объект VetoableChangeSupport. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addVetoableChangeListener |
Добавляет VetoableChangeListener в список слушателей. |
void |
addVetoableChangeListener |
Добавляет VetoableChangeListener для определенного свойства. |
void |
fireVetoableChange |
Отправляет событие изменения свойства слушателям, зарегистрированным для отслеживания изменений всех свойств или свойства с указанным именем. |
void |
fireVetoableChange |
Сообщает слушателям, зарегистрированным для отслеживания изменений всех свойств или свойства с указанным именем, об изменении логического ограниченного свойства. |
void |
fireVetoableChange |
Сообщает слушателям, зарегистрированным для отслеживания изменений всех свойств или свойства с указанным именем, об изменении целочисленного ограниченного свойства. |
void |
fireVetoableChange |
Сообщает слушателям, зарегистрированным для отслеживания изменений всех свойств или свойства с указанным именем, об изменении ограниченного свойства. |
VetoableChangeListener[] |
getVetoableChangeListeners() |
Возвращает массив всех слушателей, добавленных в объект VetoableChangeSupport с помощью addVetoableChangeListener(). |
VetoableChangeListener[] |
getVetoableChangeListeners |
Возвращает массив всех слушателей, связанных с именованным свойством. |
boolean |
hasListeners |
Проверяет, есть ли слушатели для определенного свойства, включая слушателей, зарегистрированных для всех свойств. |
void |
removeVetoableChangeListener |
Удаляет VetoableChangeListener из списка слушателей. |
void |
removeVetoableChangeListener |
Удаляет VetoableChangeListener для определенного свойства. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и планируется к удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени. |
Подробное описание конструкторов
VetoableChangeSupport
public VetoableChangeSupport(Object sourceBean)
VetoableChangeSupport.- Параметры:
-
sourceBean— компонент JavaBeans, который будет указан в качестве источника для всех событий.
Подробное описание методов
addVetoableChangeListener
public void addVetoableChangeListener(VetoableChangeListener listener)
listener имеет значение null, исключение не выбрасывается и никаких действий не выполняется.- Параметры:
-
listener— добавляемый VetoableChangeListener
removeVetoableChangeListener
public void removeVetoableChangeListener(VetoableChangeListener listener)
listener был добавлен к одному и тому же источнику событий несколько раз, после удаления он будет получать уведомления на один раз реже. Если listener имеет значение null или никогда не добавлялся, исключение не выбрасывается и никаких действий не выполняется.- Параметры:
-
listener— удаляемый VetoableChangeListener
getVetoableChangeListeners
public VetoableChangeListener[] getVetoableChangeListeners()
Если некоторые слушатели были добавлены для именованного свойства, возвращаемый массив будет содержать смесь объектов VetoableChangeListener и VetoableChangeListenerProxy. Чтобы вызывающий метод мог различить слушателей, он должен проверить каждый элемент на принадлежность к типу VetoableChangeListenerProxy, выполнить приведение типа и проанализировать параметр.
VetoableChangeListener[] listeners = bean.getVetoableChangeListeners();
for (int i = 0; i < listeners.length; i++) {
if (listeners[i] instanceof VetoableChangeListenerProxy) {
VetoableChangeListenerProxy proxy =
(VetoableChangeListenerProxy)listeners[i];
if (proxy.getPropertyName().equals("foo")) {
// proxy is a VetoableChangeListener which was associated
// with the property named "foo"
}
}
}
- Возвращает:
- всех добавленных
VetoableChangeListenersили пустой массив, если слушатели не добавлялись - С момента:
- 1.4
- См. также:
addVetoableChangeListener
public void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
propertyName или listener имеет значение null, исключение не выбрасывается и никаких действий не выполняется.- Параметры:
-
propertyName— имя свойства, за которым следует наблюдать. -
listener— добавляемый VetoableChangeListener - С момента:
- 1.2
removeVetoableChangeListener
public void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
listener был добавлен к одному и тому же источнику событий несколько раз для указанного свойства, после удаления он будет получать уведомления на один раз реже. Если propertyName имеет значение null, исключение не выбрасывается и никаких действий не выполняется. Если listener имеет значение null или никогда не добавлялся для указанного свойства, исключение не выбрасывается и никаких действий не выполняется.- Параметры:
-
propertyName— имя свойства, за которым велось наблюдение. -
listener— удаляемый VetoableChangeListener - С момента:
- 1.2
getVetoableChangeListeners
public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
- Параметры:
-
propertyName— имя свойства, за которым ведется наблюдение - Возвращает:
- все
VetoableChangeListeners, связанные с именованным свойством. Если такие слушатели не добавлялись илиpropertyNameимеет значение null, возвращается пустой массив. - С момента:
- 1.4
fireVetoableChange
public void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException
Любой слушатель может выбросить PropertyVetoException, чтобы отклонить изменение. Если один из слушателей отклоняет изменение, этот метод передает новое событие PropertyChangeEvent «отмены», возвращающее старое значение, всем слушателям, уже подтвердившим это изменение, а затем повторно выбрасывает PropertyVetoException.
Событие не отправляется, если старое и новое значения равны и не равны null.
Этот метод является лишь удобной оболочкой для более общего метода fireVetoableChange(PropertyChangeEvent).
- Параметры:
-
propertyName— программное имя изменяемого свойства -
oldValue— старое значение свойства -
newValue— новое значение свойства - Выбрасывает:
-
PropertyVetoException— если один из слушателей отклоняет изменение свойства
fireVetoableChange
public void fireVetoableChange(String propertyName, int oldValue, int newValue) throws PropertyVetoException
Любой слушатель может выбросить PropertyVetoException, чтобы отклонить изменение. Если один из слушателей отклоняет изменение, этот метод передает новое событие PropertyChangeEvent «отмены», возвращающее старое значение, всем слушателям, уже подтвердившим это изменение, а затем повторно выбрасывает PropertyVetoException.
Событие не отправляется, если старое и новое значения равны.
Этот метод является лишь удобной оболочкой для более общего метода fireVetoableChange(String, Object, Object).
- Параметры:
-
propertyName— программное имя изменяемого свойства -
oldValue— старое значение свойства -
newValue— новое значение свойства - Выбрасывает:
-
PropertyVetoException— если один из слушателей отклоняет изменение свойства - С момента:
- 1.2
fireVetoableChange
public void fireVetoableChange(String propertyName, boolean oldValue, boolean newValue) throws PropertyVetoException
Любой слушатель может выбросить PropertyVetoException, чтобы отклонить изменение. Если один из слушателей отклоняет изменение, этот метод передает новое событие PropertyChangeEvent «отмены», возвращающее старое значение, всем слушателям, уже подтвердившим это изменение, а затем повторно выбрасывает PropertyVetoException.
Событие не отправляется, если старое и новое значения равны.
Этот метод является лишь удобной оболочкой для более общего метода fireVetoableChange(String, Object, Object).
- Параметры:
-
propertyName— программное имя изменяемого свойства -
oldValue— старое значение свойства -
newValue— новое значение свойства - Выбрасывает:
-
PropertyVetoException— если один из слушателей отклоняет изменение свойства - С момента:
- 1.2
fireVetoableChange
public void fireVetoableChange(PropertyChangeEvent event) throws PropertyVetoException
Любой слушатель может выбросить PropertyVetoException, чтобы отклонить изменение. Если один из слушателей отклоняет изменение, этот метод передает новое событие PropertyChangeEvent «отмены», возвращающее старое значение, всем слушателям, уже подтвердившим это изменение, а затем повторно выбрасывает PropertyVetoException.
Событие не отправляется, если старое и новое значения указанного события равны и не равны null.
- Параметры:
-
event— отправляемоеPropertyChangeEvent - Выбрасывает:
-
PropertyVetoException— если один из слушателей отклоняет изменение свойства - С момента:
- 1.2
hasListeners
public boolean hasListeners(String propertyName)
propertyName имеет значение null, проверяются только слушатели, зарегистрированные для всех свойств.- Параметры:
-
propertyName— имя свойства. - Возвращает:
- true, если для указанного свойства зарегистрирован один или несколько слушателей
- С момента:
- 1.2
© 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.