- すべての実装されたインタフェース:
Serializable
public class TreeModelEvent extends EventObject
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beans
パッケージに追加されました。 XMLEncoder
を参照してください。
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected int[]
childIndices
子があった位置を指定するインデックスです。protected Object[]
children
削除された子です。protected TreePath
path
変更されたノードの親へのパスです。クラス java.util.EventObjectで宣言されたフィールド
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()
このオブジェクトのプロパティを表示および識別する文字列を返します。クラス java.util.EventObjectで宣言されたメソッド
getSource
-
フィールド詳細
-
コンストラクタの詳細
-
TreeModelEvent
ノードが変更、挿入、または削除されたときに、イベントを生成するために使用します。変更された項目の親へのパスをObjectの配列として指定します。 変更されたオブジェクトはすべて、指定した親の直接の子(孫ではなく)である兄弟オブジェクトです。 挿入、削除または変更が行われた位置は、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
-
TreeModelEvent
ノードが変更、挿入、または削除されたときに、イベントを生成するために使用します。変更された項目の親へのパスをTreePathオブジェクトとして指定します。 インデックスおよびオブジェクトの指定方法については、TreeModelEvent(Object,Object[],int[],Object[])
を参照してください。- パラメータ:
source
- イベントの生成のためのObject (通常、イベント・オブジェクトの生成側は値にthis
を渡す)path
- 変更された項目の親へのパスを指定するTreePathオブジェクトchildIndices
- 変更された項目のインデックス値を指定するint
配列children
- 挿入、削除、または変更されたオブジェクトを格納するObjectの配列- 関連項目:
TreeModelEvent(Object,Object[],int[],Object[])
-
TreeModelEvent
ノード構造がなんらかの方法で変更されたときに、イベントを生成するために使用します。変更されたサブツリーのルートへのパスをObjectの配列として指定します。 構造変更イベントは、たとえば、ノード交換位置を含む場合や、そのノードから始まるサブツリーでの複数の挿入および削除をカプセル化する場合があります。その場合は、サブツリーの様々なレベルで変更が起こる可能性があります。ノート:
JTreeは、指定したノードの下のすべてのノードを収納するので、直接の子だけが可視になります。- パラメータ:
source
- イベントの生成のためのObject (通常、イベント・オブジェクトの生成側は値にthis
を渡す)path
- 変更されたサブツリーのルートへのパスを示すObjectの配列。配列の最初の要素はルート・ノードに格納されているオブジェクト、最後の要素は変更されたノードに格納されているオブジェクト- 関連項目:
TreePath
-
TreeModelEvent
ノード構造が何らかの方法で変更されたときに、イベントを生成するために使用します。変更されたサブツリーのルートへのパスをTreePathオブジェクトとして指定します。 このイベントの仕様の詳細は、TreeModelEvent(Object,Object[])
を参照してください。- パラメータ:
source
- イベントの生成のためのObject (通常、イベント・オブジェクトの生成側は値にthis
を渡す)path
- 変更点へのパスを示すTreePathオブジェクト。 DefaultTreeModelでは、このオブジェクトにはユーザー・データ・オブジェクトの配列が格納される。ただし、TreePathのサブクラスはまったく異なったメカニズム(たとえばノードID番号)を使用することも可能- 関連項目:
TreeModelEvent(Object,Object[])
-
-
メソッドの詳細
-
getTreePath
public TreePath getTreePath()treeStructureChangedを除くすべてのイベントに対して、変更されたノードの親を返します。 treeStructureChangedイベントに対しては、変更された構造の祖先を返します。 これとgetChildIndices
を使用して影響を受けたノードのリストを取得します。唯一の例外は、ルートを指定するtreeNodesChangedイベントの場合です。この場合はルートが返され、
getChildIndices
はnullを返します。- 戻り値:
- 変更されたノードを指定するTreePathオブジェクト。
- 関連項目:
TreePath.getLastPathComponent()
-
getPath
public Object[] getPath()このイベントがラップするTreePathのインスタンスから、オブジェクトの配列を取得するための簡易メソッドです。- 戻り値:
- Objectの配列。最初のObjectはルートに格納されていて、最後のオブジェクトはパスで示されるノードに格納されている
-
getChildren
public Object[] getChildren()getChildIndices
で指定された位置にある、getPath
で示されるノードの子のオブジェクトを返します。 これが削除イベントである場合、返されるオブジェクトはその親ノードの子ではありません。- 戻り値:
- イベントによって指定される子を格納するObjectの配列
- 関連項目:
getPath()
,getChildIndices()
-
getChildIndices
public int[] getChildIndices()子インデックスの値を返します。 これが削除イベントである場合、インデックスは項目が削除された初期リストでの位置を指します。 挿入の場合は、インデックスは項目が追加された最終リストでの位置を指します。 ノード変更の場合は、インデックスは変更されたノードの位置を指します。- 戻り値:
- イベントによって指定された子のインデックス位置を格納する
int
配列
-
toString
public String toString()このオブジェクトのプロパティを表示および識別する文字列を返します。- オーバーライド:
toString
、クラス:EventObject
- 戻り値:
- このオブジェクトの文字列表現
-