|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.Observable
public class Observable
このクラスは、被監視オブジェクト、つまりモデル/ビューパラダイムの「データ」を表します。このクラスをサブクラス化することによって、アプリケーションが監視を希望するオブジェクトを表すことができます。
被監視オブジェクトには、1 つまたは複数のオブザーバがあります。オブザーバは、Observer インタフェースを実装する任意のオブジェクトです。被監視インスタンスに変更があると、この Observable
の notifyObservers
メソッドを呼び出すアプリケーションは、そのすべてのオブザーバに対し、それらの update
メソッドを呼び出すことによって変更を通知します。
通知が配信される順序は決まっていません。Observable クラスで提供されるデフォルトの実装では、登録した順序で Observer に通知しますが、サブクラスでは、この順序を変更したり、保証されない順序を使用したり、スレッドごとに通知を配信したり、必要に応じて、サブクラスのサブクラスがこの順序に従うことを保証したりすることもできます。
この通知機構はスレッドとは無関係であり、Object クラスの wait および notify 機構からは完全に独立している点に注意してください。
被監視オブジェクトが新しく作成された時点では、オブザーバのセットは空です。2 つのオブザーバに対して equals メソッドが true を返す場合にだけ、それらのオブザーバは等しいと見なされます。
notifyObservers()
,
notifyObservers(java.lang.Object)
,
Observer
,
Observer.update(java.util.Observable, java.lang.Object)
コンストラクタの概要 | |
---|---|
Observable()
ゼロのオブザーバで被監視オブジェクトを構築します。 |
メソッドの概要 | |
---|---|
void |
addObserver(Observer o)
オブジェクトのオブザーバセットにオブザーバを追加します。 |
protected void |
clearChanged()
オブジェクトがもはや変更された状態ではないこと、すなわち、最新の変更がすべてオブザーバに通知されたことを示します。 |
int |
countObservers()
Observable オブジェクトのオブザーバの数を返します。 |
void |
deleteObserver(Observer o)
オブジェクトのオブザーバセットからオブザーバを削除します。 |
void |
deleteObservers()
オブザーバリストを消去します。 |
boolean |
hasChanged()
オブジェクトが変更されたかどうかを判定します。 |
void |
notifyObservers()
オブジェクトが、 hasChanged メソッドに示されるように変更されていた場合、そのすべてのオブザーバにそのことを通知し、次に clearChanged メソッドを呼び出して、このオブジェクトがもはや変更された状態でないことを示します。 |
void |
notifyObservers(Object arg)
オブジェクトが、 hasChanged メソッドに示されるように変更されていた場合、そのすべてのオブザーバにそのことを通知し、次に clearChanged メソッドを呼び出して、このオブジェクトがもはや変更された状態でないことを示します。 |
protected void |
setChanged()
Observable オブジェクトを変更されたものとしてマーキングします。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public Observable()
メソッドの詳細 |
---|
public void addObserver(Observer o)
o
- 追加するオブザーバ
NullPointerException
- パラメータ o が null の場合public void deleteObserver(Observer o)
null
を渡しても、何の効果もありません。
o
- 削除するオブザーバpublic void notifyObservers()
hasChanged
メソッドに示されるように変更されていた場合、そのすべてのオブザーバにそのことを通知し、次に clearChanged
メソッドを呼び出して、このオブジェクトがもはや変更された状態でないことを示します。
各オブザーバの update
メソッドが 2 つの引数 (この被監視オブジェクトと null
) で呼び出されます。つまり、このメソッドは次と同じになります。
notifyObservers(null)
clearChanged()
,
hasChanged()
,
Observer.update(java.util.Observable, java.lang.Object)
public void notifyObservers(Object arg)
hasChanged
メソッドに示されるように変更されていた場合、そのすべてのオブザーバにそのことを通知し、次に clearChanged
メソッドを呼び出して、このオブジェクトがもはや変更された状態でないことを示します。
各オブザーバの update
メソッドが 2 つの引数(この被監視オブジェクトと arg
)で呼び出されます。
arg
- 任意のオブジェクトclearChanged()
,
hasChanged()
,
Observer.update(java.util.Observable, java.lang.Object)
public void deleteObservers()
protected void setChanged()
protected void clearChanged()
notifyObservers
メソッドによって自動的に呼び出されます。
notifyObservers()
,
notifyObservers(java.lang.Object)
public boolean hasChanged()
clearChanged
メソッドよりあとに setChanged
メソッドが呼び出された場合にだけ true
、そうでない場合は false
clearChanged()
,
setChanged()
public int countObservers()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。