public class TreeModelEvent extends EventObject
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。1.4以降、すべてのJavaBeans(tm)用の長期間の格納サポートがjava.beans
パッケージに追加されています。XMLEncoder
を参照してください。
修飾子と型 | フィールドと説明 |
---|---|
protected int[] |
childIndices
子があった位置を指定するインデックスです。
|
protected Object[] |
children
削除された子です。
|
protected TreePath |
path
変更されたノードの親へのパスです。
|
source
コンストラクタと説明 |
---|
TreeModelEvent(Object source, Object[] path)
ノード構造がなんらかの方法で変更されたときに、イベントを生成するために使用します。変更されたサブツリーのルートへのパスをObjectの配列として指定します。
|
TreeModelEvent(Object source, Object[] path, int[] childIndices, Object[] children)
ノードが変更、挿入、または削除されたときに、イベントを生成するために使用します。変更された項目の親へのパスをObjectの配列として指定します。
|
TreeModelEvent(Object source, TreePath path)
ノード構造がなんらかの方法で変更されたときに、イベントを生成するために使用します。変更されたサブツリーのルートへのパスをTreePathオブジェクトとして指定します。
|
TreeModelEvent(Object source, TreePath path, int[] childIndices, Object[] children)
ノードが変更、挿入、または削除されたときに、イベントを生成するために使用します。変更された項目の親へのパスをTreePathオブジェクトとして指定します。
|
修飾子と型 | メソッドと説明 |
---|---|
int[] |
getChildIndices()
子インデックスの値を返します。
|
Object[] |
getChildren()
getChildIndices で指定された位置にある、getPath で示されるノードの子のオブジェクトを返します。 |
Object[] |
getPath()
このイベントがラップするTreePathのインスタンスから、オブジェクトの配列を取得するための簡易メソッドです。
|
TreePath |
getTreePath()
treeStructureChangedを除くすべてのイベントに対して、変更されたノードの親を返します。
|
String |
toString()
このオブジェクトのプロパティを表示および識別する文字列を返します。
|
getSource
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)
は、Vectorが空のときでも使用できます。null
として指定します。source
- イベントの生成のためのObject (通常、イベント・オブジェクトの生成側は値にthis
を渡す)path
- 変更された項目の親へのパスを示すObjectの配列。配列の最初の要素はルート・ノードに格納されているObject、最後の要素は親ノードに格納されているObjectchildIndices
- 削除された項目のインデックス値を指定するint
配列。インデックスは、最下位から最上位へ向かってソートされた順序である必要があるchildren
- 挿入、削除、または変更されたオブジェクトを格納するObjectの配列TreePath
public TreeModelEvent(Object source, TreePath path, int[] childIndices, Object[] children)
TreeModelEvent(Object,Object[],int[],Object[])
を参照してください。source
- イベントの生成のためのObject (通常、イベント・オブジェクトの生成側は値にthis
を渡す)path
- 変更された項目の親へのパスを指定するTreePathオブジェクトchildIndices
- 変更された項目のインデックス値を指定するint
配列children
- 挿入、削除、または変更されたオブジェクトを格納するObjectの配列TreeModelEvent(Object,Object[],int[],Object[])
public TreeModelEvent(Object source, Object[] path)
注:
JTreeは、指定したノードの下のすべてのノードを収納するので、直接の子だけが可視になります。
source
- イベントの生成のためのObject (通常、イベント・オブジェクトの生成側は値にthis
を渡す)path
- 変更されたサブツリーのルートへのパスを示すObjectの配列。配列の最初の要素はルート・ノードに格納されているオブジェクト、最後の要素は変更されたノードに格納されているオブジェクトTreePath
public TreeModelEvent(Object source, TreePath path)
TreeModelEvent(Object,Object[])
を参照してください。source
- イベントの生成のためのObject (通常、イベント・オブジェクトの生成側は値にthis
を渡す)path
- 変更点へのパスを示すTreePathオブジェクト。DefaultTreeModelでは、このオブジェクトにはユーザー・データ・オブジェクトの配列が格納される。ただし、TreePathのサブクラスはまったく異なったメカニズム(たとえばノードID番号)を使用することも可能TreeModelEvent(Object,Object[])
public TreePath getTreePath()
getChildIndices
を使用して影響を受けたノードのリストを取得します。
唯一の例外は、ルートを指定するtreeNodesChangedイベントの場合です。この場合はルートが返され、getChildIndices
はnullを返します。
TreePath.getLastPathComponent()
public Object[] getPath()
public Object[] getChildren()
getChildIndices
で指定された位置にある、getPath
で示されるノードの子のオブジェクトを返します。これが削除イベントである場合、返されるオブジェクトはその親ノードの子ではありません。getPath()
, getChildIndices()
public int[] getChildIndices()
int
配列public String toString()
toString
、クラス: EventObject
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.