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