| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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 が葉の場合は true
void 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)| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。