- 既知のすべての実装クラス:
DefaultTreeModel
public interface TreeModel
JTree
が使用するモデルです。
JTree
とその関連クラスは、TreeModel
内のノードを識別するためにTreePath
を広範囲にわたって使用します。 TreeModel
が、equals
と比較して、同じ親の下の2つの異なる索引で同じオブジェクトを返す場合、結果のTreePath
オブジェクトも同じとみなされます。 一部の実装では、2つのTreePath
が等しい場合、それらは同じノードと見なされることがあります。 この条件が満たされないと、ペイント問題やその他の異常な事態が発生する場合があります。 言い換えれば、特定の親に対するgetChild
で同じObject (equals
で判定されたもの)が返された場合は問題が発生することがあるため、このような処理は行わないことをお勧めします。
同様に、JTree
とその関連クラスは、TreePath
をMap
内に配置します。 このため、ノードが2回要求された場合は、戻り値が等しく(equals
メソッドを使用)、hashCode
が同じである必要があります。
カスタム実装の例を含むツリー・モデルの詳細については、「The Java Tutorial」の「How to Use Trees」を参照してください。
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明void
ツリーが変更されたあとに送信されたTreeModelEvent
のリスナーを追加します。親の持つ子配列の、インデックスindex
にあるparent
の子を返します。int
getChildCount
(Object parent) parent
の子の数を返します。int
getIndexOfChild
(Object parent, Object child) 親の子のインデックスを返します。getRoot()
ツリーのルートを返します。boolean
node
が葉の場合true
を返します。void
以前にaddTreeModelListener
で追加されたリスナーを削除します。void
valueForPathChanged
(TreePath path, Object newValue) newValue
へのpath
によって識別される項目の値をユーザーが変更すると、メッセージとして送信されます。
-
メソッドの詳細
-
getRoot
Object getRoot()ツリーのルートを返します。 ツリーにノードがない場合だけ、null
を返します。- 戻り値:
- ツリーのルート
-
getChild
親の持つ子配列の、インデックスindex
にあるparent
の子を返します。parent
は、このデータ・ソースからそれまでに取得されたノードである必要があります。index
がparent
の有効なインデックス(つまり、index >= 0 & index < getChildCount (parent
)である場合は、null
を返しません。- パラメータ:
parent
- このデータ・ソースから取得された、ツリー内のノードindex
- 返される子のインデックス- 戻り値:
- インデックス
index
にあるparent
の子
-
getChildCount
int getChildCount(Object parent) parent
の子の数を返します。 ノードが葉の場合や、ノードが子を持たない場合は、0を返します。parent
は、このデータ・ソースからそれまでに取得されたノードである必要があります。- パラメータ:
parent
- このデータ・ソースから取得された、ツリー内のノード- 戻り値:
- ノード
parent
の子の数
-
isLeaf
boolean isLeaf(Object node) node
が葉の場合true
を返します。node
が子を持たない場合でも、このメソッドはfalse
を返すことができます。 たとえば、ファイル・システムのディレクトリにファイルが入っていない場合、そのディレクトリを表すノードは葉でないだけでなく、子も持っていません。- パラメータ:
node
- このデータ・ソースから取得された、ツリー内のノード- 戻り値:
node
が葉の場合はtrue
-
valueForPathChanged
newValue
へのpath
によって識別される項目の値をユーザーが変更すると、メッセージとして送信されます。newValue
が本当に新しい値を意味する場合には、モデルはtreeNodesChanged
イベントを送信しなければいけません。- パラメータ:
path
- ユーザーが変更したノードへのパスnewValue
- TreeCellEditorからの新しい値
-
getIndexOfChild
親の子のインデックスを返します。parent
またはchild
のどちらかがnull
の場合は、-1を返します。parent
またはchild
のどちらかがこのツリー・モデルに属していない場合も、-1を返します。- パラメータ:
parent
- このデータ・ソースから取得された、ツリー内のノードchild
- 対象となるノード- 戻り値:
- 親の子のインデックス。
child
またはparent
がnull
であるか、このツリー・モデルに属していない場合は -1
-
addTreeModelListener
void addTreeModelListener(TreeModelListener l) ツリーが変更されたあとに送信されたTreeModelEvent
のリスナーを追加します。- パラメータ:
l
- 追加するリスナー- 関連項目:
-
removeTreeModelListener
void removeTreeModelListener(TreeModelListener l) 以前にaddTreeModelListener
で追加されたリスナーを削除します。- パラメータ:
l
- 削除するリスナー- 関連項目:
-