public class TreeModelEvent extends EventObject
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースとの互換性がなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 以降、すべての JavaBeansTM 用の長期間の格納サポートが 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, 2013, Oracle and/or its affiliates. All rights reserved.