Spec-Zone .ru
спецификации, руководства, описания, API
|
java.util.Observable
Observable
поддерживает ряд "наблюдателей", которые уведомляются всякий раз, когда Observable
возразите изменениям некоторым существенным способом. Наблюдатель может быть любым объектом, который реализует интерфейс Observer
(§21.8). Отметьте, что этот механизм уведомления, не имеет никакого отношения к потокам (§20.20) и является абсолютно отдельным от wait
и notify
механизм класса Object
(§20.1).
public classКогда заметный объект недавно создается, его группа наблюдателей пуста.Observable
{ public voidaddObserver
(Observer o); public voiddeleteObserver
(Observer o); public voiddeleteObservers
(); public intcountObservers
(); public voidnotifyObservers
(); public voidnotifyObservers
(Object arg); protected voidsetChanged
(); protected voidclearChanged
(); public booleanhasChanged
(); }
Двух наблюдателей считают тем же самым если и только если equals
метод (§20.1.3) возвраты true
для них.
21.7.1 public void
addObserver
(Observer o)
Наблюдатель o
добавляется к этому Observable
группа объекта наблюдателей, при условии, что это не то же самое как некоторый наблюдатель уже в наборе.
21.7.2 public void
deleteObserver
(Observer o)
Наблюдатель o
удаляется из этого Observable
группа объекта наблюдателей.
21.7.3 public void
deleteObservers
()
Все наблюдатели удаляются из этого Observable
группа объекта наблюдателей.
21.7.4 public int
countObservers
()
Число наблюдателей в этом Observable
группа объекта наблюдателей возвращается.
21.7.5 public void
notifyObservers
()
Если это Observable
объект был отмечен как изменено, этот метод заставляет всех наблюдателей быть уведомленными с null
как второй параметр; другими словами этот метод эквивалентен:
notifyObservers(null)
21.7.6 public void
notifyObservers
(Object arg)
Если это Observable
объект был отмечен как изменено (§21.7.9), этот метод заставляет всех наблюдателей быть уведомленными с arg
как второй параметр. Наблюдатель уведомляется, вызывая update
метод (§21.8.1) на двух параметрах: это Observable
объект и arg
. Метка на этом объекте тогда очищается (§21.7.8).
21.7.7 protected void
setChanged
()
Это Observable
объект отмечается как измененный; hasChanged
метод теперь возвратится true
.
21.7.8 protected void
clearChanged
()
Это Observable
объект отмечается как то, чтобы не быть измененным; hasChanged
метод теперь возвратится false
.
21.7.9 public boolean
hasChanged
()
Результатом является истина если и только если setChanged
метод вызвали для этого Observable
возразите позже чем любой clearChanged
метод или notifyObservers
метод.
java.util.Observer
Observer
взаимодействуйте через интерфейс, если это должно быть уведомлено всякий раз, когда Observable
объект был изменен. См. Observable
класс (§21.7) для обсуждения как Observer
объекты уведомляются. public interfaceObserver
{ public voidupdate
(Observable o, Object arg); }
21.8.1 public void
update
(Observable o, Object arg)
Когда Observable
объект был изменен и notifyObservers
метод (§21.7.6) вызывают, каждый Observer
объект в его наборе observers
уведомляется, вызывая update
метод, передавая это два параметра: Observable
возразите и другой параметр, определенный звонком notifyObservers
метод.
Содержание | Предыдущий | Следующий | Индекс
Спецификация языка Java (HTML, сгенерированный Блинчиком "сюзет" Pelouch 24 февраля 1998)
Авторское право © Sun Microsystems, Inc 1996 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com