|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.EventObject javax.swing.event.TreeModelEvent
public class 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)
は、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 の配列。配列の最初の要素はルートノードに格納されている 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()
getChildIndices
を使用して影響を受けたノードのリストを取得します。
唯一の例外は、ルートを指定する treeNodesChanged イベントの場合です。この場合はルートが返され、getChildIndices
は null を返します。
TreePath.getLastPathComponent()
public Object[] getPath()
public Object[] getChildren()
getChildIndices
によって指定された位置にある、getPath
によって指定されるノードの子であるオブジェクトを返します。これが削除イベントである場合、返されるオブジェクトはその親ノードの子ではありません。
getPath()
,
getChildIndices()
public int[] getChildIndices()
int
の配列public String toString()
EventObject
内の toString
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。