|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.EventObject | +--javax.swing.event.TreeModelEvent
ツリーモデルの変更を記述する情報をカプセル化し、ツリーモデルリスナーに変更を通知するために使用します。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。
フィールドの概要 | |
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()
変更されたノードを指定する TreePath オブジェクトを返します。 |
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 のサイズに一致したときに Vector
への追加を行います。したがって、insertElementAt(Integer, 0)
は、Vector が空のときでも使用することができます。
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 の配列。配列の最初の要素はルートノードに格納されている Object、最後の要素は変更されたノードに格納されている ObjectTreePath
public TreeModelEvent(Object source, TreePath path)
TreeModelEvent(Object,Object[])
」を参照してください。source
- イベントの生成を処理する Object。通常、イベントオブジェクトの生成側は値に this
を渡すpath
- 変更点へのパスを指定する TreePath オブジェクト。DefaultTreeModel では、このオブジェクトはユーザデータオブジェクトの配列を格納するが、TreePath のサブクラスでは、たとえばノード ID 番号など、まったく別の機構を使用することも可能TreeModelEvent(Object,Object[])
メソッドの詳細 |
public TreePath getTreePath()
getLastPathComponent
を使用すると、そのノードに格納されているデータを取得できます。TreePath.getLastPathComponent()
public Object[] getPath()
public Object[] getChildren()
getChildIndices
によって指定された位置にある、getPath
によって指定されるノードの子であるオブジェクトを返します。これが削除イベントである場合、返されるオブジェクトはその親ノードの子ではありません。getPath()
,
getChildIndices()
public int[] getChildIndices()
int
の配列public String toString()
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |