- 既知のすべての実装クラス:
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」を参照してください。
- 関連項目:
TreePath
-
メソッドのサマリー
修飾子と型メソッド説明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(javax.swing.event.TreeModelListener)
-
removeTreeModelListener
void removeTreeModelListener(TreeModelListener l)以前にaddTreeModelListener
で追加されたリスナーを削除します。- パラメータ:
l
- 削除するリスナー- 関連項目:
addTreeModelListener(javax.swing.event.TreeModelListener)
-