|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.EventObject | +--javax.swing.event.TreeModelEvent
ツリーモデルの変更を記述する情報をカプセル化して、ツリーモデルのリスナーに変更を通知します。 詳細及び例は、「The Java Tutorial」の「How to Write a Tree Model Listener」セクションを参照してください。
警告:
このクラスの直列化されたオブジェクトは、今後の Swing リリースとの互換性がなくなります。現在の直列化のサポートは、短期記憶や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK バージョン 1.4 以降、すべての JavaBeans の長期記憶用サポートは、java.beans
パッケージに追加されています。詳細は、XMLEncoder
を参照してください。
フィールドの概要 | |
protected int[] |
childIndices
子があった位置を指定するインデックスです。 |
protected Object[] |
children
削除された子です。 |
protected TreePath |
path
変更されたノードの親へのパスです。 |
クラス java.util.EventObject から継承したフィールド |
source |
コンストラクタの概要 | |
TreeModelEvent(Object source,
Object[] path)
ノード構造がなんらかの方法で変更されたときに、イベントを生成するために使用します。 |
|
TreeModelEvent(Object source,
Object[] path,
int[] childIndices,
Object[] children)
ノードが変更、挿入、または削除されたときに、イベントを生成するために使用します。 |
|
TreeModelEvent(Object source,
TreePath path)
ノード構造がなんらかの方法で変更されたときに、イベントを生成するために使用します。 |
|
TreeModelEvent(Object source,
TreePath path,
int[] childIndices,
Object[] children)
ノードが変更、挿入、または削除されたときに、イベントを生成するために使用します。 |
メソッドの概要 | |
int[] |
getChildIndices()
子インデックスの値を返します。 |
Object[] |
getChildren()
getChildIndices によって指定された位置で getPath によって識別されたノードの子のオブジェクトを返します。 |
Object[] |
getPath()
このイベントがラップする TreePath のインスタンスから、オブジェクトの配列を取得するための簡易メソッドです。 |
TreePath |
getTreePath()
treeStructureChanged を除くすべてのイベントに対して、変更されたノードの親を返します。 |
String |
toString()
このオブジェクトのプロパティを表示および識別する文字列を返します。 |
クラス java.util.EventObject から継承したメソッド |
getSource |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
protected TreePath path
protected int[] childIndices
protected Object[] children
コンストラクタの詳細 |
public TreeModelEvent(Object source, Object[] path, int[] childIndices, Object[] children)
int
の配列によって指定されます。配列内のインデックスは、最下位から最上位への順番である必要があります。
変更の場合、モデルのインデックスは、現在 UI で表示されている項目のインデックスに正確に対応します。その結果、インデックスの順番が正しいかどうかはあまり重要にはなりません。しかし、複数の挿入または削除のあとでは、現在 UI にある項目はモデル内の項目と対応していません。したがって、挿入または削除ではインデックスを適切に指定することが重要となります。
挿入の場合、インデックスは、挿入後のツリーの「最終」状態を表します。インデックスは適切な順序で指定する必要があるため、もっとも自然な処理方法は、最下位のインデックスから最上位に向かって挿入を行うという方法です。処理を進めながら、挿入位置を指定する Integer
オブジェクトの Vector を増加させてから、Vector を int
の配列に変換して、イベントを生成します。位置インデックスが 0 であれば、ノードはリストの先頭に挿入されます。位置インデックスがリストのサイズと同じであれば、ノードはリストの最後に「挿入」つまり追加されます。
削除の場合、インデックスは、削除前のツリーの「初期」状態を表します。インデックスは適切な順序で指定する必要があるため、もっとも自然な処理方法は、削除カウンタを使用する方法です。カウンタを 0 に初期化してから、リストの最下位から最上位に向かって処理を行います。削除を行うたびに、削除カウンタの現在値を、削除が行われるインデックス位置に追加し、addElement()
を使ってその結果を削除位置の Vector に追加します。そのあとで、削除カウンタ値を増加します。これで、Vector に格納されるインデックス位置には以前のすべての削除の結果が反映され、初期状態のツリーでの各オブジェクトの位置が表されます。最上位インデックスから最下位インデックスに向かって処理を行い、insertElementAt(Integer, 0)
を使って処理を進めながら、削除位置の Vector を増加させることもできます。どのように初期位置の Vector を生成しても、イベント生成のために Integer
オブジェクトの Vector を int
の配列へ変換する必要があります。
注意:
DefaultTreeModel
クラスの insertNodeInto
メソッドと同じように、インデックスがベクタのサイズに一致するときに insertElementAt
を Vector
に追加します。この結果、ベクタが空の場合でも insertElementAt(Integer, 0)
を使用できるようになります。
this
を渡す
変更された項目の親へのパスを指定する Object の配列。配列の最初の要素はルートノードに格納されている Object、最後の要素は親ノードに格納されている Object
削除された項目のインデックス値を指定する int
の配列。インデックスは、最下位から最上位へ向かってソートされた順序である必要がある
挿入、削除、または変更されたオブジェクトを格納する Object の配列
TreePath
public TreeModelEvent(Object source, TreePath path, int[] childIndices, Object[] children)
?TreeModelEvent(Object,Object[],int[],Object[])
を参照してください。
イベントの生成を処理する Object。通常、イベントオブジェクトの生成側は値に this
を渡す
変更された項目の親へのパスを指定する TreePath オブジェクト
変更された項目のインデックス値を指定する int
の配列
挿入、削除、または変更されたオブジェクトを格納する Object の配列
TreeModelEvent(Object,Object[],int[],Object[])
public TreeModelEvent(Object source, Object[] path)
this
を渡す
変更されたサブツリーのルートへのパスを指定する Object の配列。配列の最初の要素はルートノードに格納されている Object、最後の要素は変更されたノードに格納されている Object
TreePath
public TreeModelEvent(Object source, TreePath path)
?TreeModelEvent(Object,Object[])
を参照してください。
イベントの生成を処理する Object。通常、イベントオブジェクトの生成側は値に this
を渡す
変更点へのパスを指定する TreePath オブジェクト。DefaultTreeModel では、このオブジェクトはユーザデータオブジェクトの配列を格納するが、TreePath のサブクラスでは、たとえばノード ID 番号など、まったく別の機構を使用することも可能
TreeModelEvent(Object,Object[])
メソッドの詳細 |
public TreePath getTreePath()
getChildIndices
を使用して影響を受けたノードのリストを取得します。
唯一の例外は、ルートを指定する treeNodesChanged イベントの場合です。この場合はルートが返され、getChildIndices
は null を返します。
変更されたノードを指定する TreePath オブジェクト
TreePath.getLastPathComponent()
public Object[] getPath()
public Object[] getChildren()
getChildIndices
によって指定された位置で getPath
によって識別されたノードの子のオブジェクトを返します。これが削除イベントの場合、返されたオブジェクトは親ノードの子ではありません。
イベントによって指定された子を格納する Object の配列
getPath()
,
getChildIndices()
public int[] getChildIndices()
int
の配列
public String toString()
EventObject
内の toString
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.