- java.lang.Object
-
- javax.swing.tree.DefaultTreeModel
-
- すべての実装されたインタフェース:
Serializable,TreeModel
public class DefaultTreeModel extends Object implements Serializable, TreeModel
TreeNodesを使用する単純なツリー・データ・モデルです。 DefaultTreeModelの詳細および使用例は、「The Java Tutorial」の「How to Use Trees」を参照してください。警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートが
java.beansパッケージに追加されています。XMLEncoderを参照してください。- 関連項目:
- 直列化された形式
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected booleanasksAllowsChildrenノードが葉ノードかどうかをisLeafメソッドが判断する方法を決定します。protected EventListenerListlistenerListリスナーです。protected TreeNoderootツリーのルートです。
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 DefaultTreeModel(TreeNode root)どのノードでも子を持てるツリーを作成します。DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)どのノードでも子を持てるかどうか、特定のノードだけが子を持てるかどうかを指定するツリーを作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidaddTreeModelListener(TreeModelListener l)ツリーが変更されたあとに送信されたTreeModelEventのリスナーを追加します。booleanasksAllowsChildren()葉ノードの判別方法を通知します。protected voidfireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。protected voidfireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。protected voidfireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。protected voidfireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。ObjectgetChild(Object parent, int index)親の持つ子配列の、インデックスindexにあるparentの子を返します。intgetChildCount(Object parent)parentの子の数を返します。intgetIndexOfChild(Object parent, Object child)親の子のインデックスを返します。<T extends EventListener>
T[]getListeners(Class<T> listenerType)このモデルにFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。TreeNode[]getPathToRoot(TreeNode aNode)ルート・ノードまでを含むノードの親を構築します。ただし、元のノードは返される配列内の最後の要素です。protected TreeNode[]getPathToRoot(TreeNode aNode, int depth)ルート・ノードまでを含むノードの親を構築します。ただし、元のノードは返される配列内の最後の要素です。ObjectgetRoot()ツリーのルートを返します。TreeModelListener[]getTreeModelListeners()このモデルに登録された、すべてのツリー・モデル・リスナーからなる配列を返します。voidinsertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)このメソッドを呼び出して、親の子たちの位置インデックスにnewChildを挿入します。booleanisLeaf(Object node)指定のノードが葉ノードかどうかを返します。voidnodeChanged(TreeNode node)ユーザーがツリー内のノードの表現方法を変更したあとで、このメソッドを呼び出します。voidnodesChanged(TreeNode node, int[] childIndices)childIndiciesで識別される子をツリー内で表現する方法をユーザーが変更したあとで、このメソッドを呼び出します。voidnodeStructureChanged(TreeNode node)ノードの子、その子の子、などのようにユーザーがノードの子孫を全体的に変更した場合に、このメソッドを呼び出します。voidnodesWereInserted(TreeNode node, int[] childIndices)ユーザーがいくつかのTreeNodeをノードに挿入したあとでこのメソッドを呼び出します。voidnodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)ユーザーがいくつかのTreeNodeをノードから削除したあとでこのメソッドを呼び出します。voidreload()ユーザーがこのモデルの依存するTreeNodeを変更した場合、このメソッドを呼び出します。voidreload(TreeNode node)ユーザーがこのモデルの依存するTreeNodeを変更した場合、このメソッドを呼び出します。voidremoveNodeFromParent(MutableTreeNode node)このメソッドをメッセージとして送って、ノードをその親から削除します。voidremoveTreeModelListener(TreeModelListener l)以前にaddTreeModelListener()で追加されたリスナーを削除します。voidsetAsksAllowsChildren(boolean newValue)TreeNodeにgetAllowsChildren()またはisLeaf()で問い合わせることにより、葉かどうかの判定をするかしないかを設定します。voidsetRoot(TreeNode root)ルートをrootに設定します。voidvalueForPathChanged(TreePath path, Object newValue)パスで識別されるTreeNodeのユーザー・オブジェクトを設定し、変更済みのノードを送ります。
-
-
-
フィールドの詳細
-
root
protected TreeNode root
ツリーのルートです。
-
listenerList
protected EventListenerList listenerList
リスナーです。
-
asksAllowsChildren
protected boolean asksAllowsChildren
ノードが葉ノードかどうかをisLeafメソッドが判断する方法を決定します。 trueの場合、ノードが子を許可しなければ葉ノードです。 子を許可する場合は、子が存在しなくても葉ノードではありません。 これで、たとえばファイル・システムのフォルダ・ノードとファイル・ノードを区別できます。この値がfalseの場合は、子を持たないノードは葉ノードで、どのノードでも子を持つことができます。
-
-
コンストラクタの詳細
-
DefaultTreeModel
@ConstructorProperties("root") public DefaultTreeModel(TreeNode root)
どのノードでも子を持てるツリーを作成します。- パラメータ:
root- ツリーのルートであるTreeNodeオブジェクト- 関連項目:
DefaultTreeModel(TreeNode, boolean)
-
DefaultTreeModel
public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren)
どのノードでも子を持てるかどうか、特定のノードだけが子を持てるかどうかを指定するツリーを作成します。- パラメータ:
root- ツリーのルートであるTreeNodeオブジェクトasksAllowsChildren- boolean型。どのノードでも子を持てる場合はfalse、各ノードが子を持てるかどうか確認するように求められる場合はtrue- 関連項目:
asksAllowsChildren
-
-
メソッドの詳細
-
setAsksAllowsChildren
public void setAsksAllowsChildren(boolean newValue)
TreeNodeにgetAllowsChildren()またはisLeaf()で問い合わせることにより、葉かどうかの判定をするかしないかを設定します。 newvalueがtrueの場合は、getAllowsChildren()がメッセージとして送られます。そうでない場合は、isLeaf()がメッセージとして送られます。- パラメータ:
newValue- trueの場合はgetAllowsChildren()がメッセージされ、そうでない場合はisLeaf()がメッセージされます。
-
asksAllowsChildren
public boolean asksAllowsChildren()
葉ノードの判別方法を通知します。- 戻り値:
- 子を許可しないノードだけが葉ノードである場合はtrue、子を持たないノード(子は許可されていても)が葉ノードである場合はfalse
- 関連項目:
asksAllowsChildren
-
setRoot
public void setRoot(TreeNode root)
ルートをrootに設定します。 nullのrootは、ツリーには何も表示されず、かつ適正であることを意味します。- パラメータ:
root- ツリー・ルートの新しい値
-
getRoot
public Object getRoot()
ツリーのルートを返します。 ツリーにノードがない場合だけ、nullを返します。
-
getIndexOfChild
public int getIndexOfChild(Object parent, Object child)
親の子のインデックスを返します。 親か子のどちらかがnullの場合は、-1を返します。- 定義:
getIndexOfChild、インタフェースTreeModel- パラメータ:
parent- このデータ・ソースから取得された、ツリー内のノードchild- 対象となるノード- 戻り値:
- 親の子のインデックス。親または子が
nullの場合は -1
-
getChild
public Object getChild(Object parent, int index)
親の持つ子配列の、インデックスindexにあるparentの子を返します。parentは、このデータ・ソースからそれまでに取得されたノードである必要があります。 indexがparentの有効なインデックス(つまり、index>= 0 & index < getChildCount(parent))である場合は、nullを返しません。
-
getChildCount
public int getChildCount(Object parent)
parentの子の数を返します。 ノードが葉の場合や、ノードが子を持たない場合は、0を返します。parentは、このデータ・ソースからそれまでに取得されたノードである必要があります。- 定義:
getChildCount、インタフェースTreeModel- パラメータ:
parent- このデータ・ソースから取得された、ツリー内のノード- 戻り値:
- ノードparentの子の数
-
isLeaf
public boolean isLeaf(Object node)
指定のノードが葉ノードかどうかを返します。 判定の実行方法は、askAllowsChildrenの設定に依存します。- 定義:
isLeaf、インタフェースTreeModel- パラメータ:
node- チェック対象のノード- 戻り値:
- ノードが葉ノードの場合はtrue
- 関連項目:
asksAllowsChildren,TreeModel.isLeaf(java.lang.Object)
-
reload
public void reload()
ユーザーがこのモデルの依存するTreeNodeを変更した場合、このメソッドを呼び出します。 モデルは、それ自身が変更済みであることを、そのリスナーのすべてに通知します。
-
valueForPathChanged
public void valueForPathChanged(TreePath path, Object newValue)
パスで識別されるTreeNodeのユーザー・オブジェクトを設定し、変更済みのノードを送ります。 TreeModel内のカスタム・ユーザー・オブジェクトを使用すると、これをサブクラス化し、変更済みノードのユーザー・オブジェクトを意味のある内容に設定する必要がでてきます。- 定義:
valueForPathChanged、インタフェースTreeModel- パラメータ:
path- ユーザーが変更したノードへのパスnewValue- TreeCellEditorからの新しい値
-
insertNodeInto
public void insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)
このメソッドを呼び出して、親の子たちの位置インデックスにnewChildを挿入します。 それから、nodesWereInsertedをメッセージとして送り、適切なイベントを生成します。 適切なイベントを生成するので、子を追加するための望ましい方法です。- パラメータ:
newChild- 挿入される子ノードparent- 子ノードが追加されるノードindex- 親子のインデックス
-
removeNodeFromParent
public void removeNodeFromParent(MutableTreeNode node)
このメソッドをメッセージとして送って、ノードをその親から削除します。 それから、nodesWereRemovedをメッセージとして送り、適切なイベントを生成します。 イベント生成をユーザーのために処理するので、ノードを削除するための望ましい方法です。- パラメータ:
node- それから削除されるべきノードはパラレン
-
nodeChanged
public void nodeChanged(TreeNode node)
ユーザーがツリー内のノードの表現方法を変更したあとで、このメソッドを呼び出します。- パラメータ:
node- 変更されたノード
-
reload
public void reload(TreeNode node)
ユーザーがこのモデルの依存するTreeNodeを変更した場合、このメソッドを呼び出します。 モデルは、指定のノードより下の部分で変更されたことを、そのすべてのリスナーに通知します。- パラメータ:
node- 特定のノード。モデルはこのノードより下の部分で変更された
-
nodesWereInserted
public void nodesWereInserted(TreeNode node, int[] childIndices)
ユーザーがいくつかのTreeNodeをノードに挿入したあとでこのメソッドを呼び出します。childIndicesは新しい要素のインデックスで、昇順でソートされる必要があります。- パラメータ:
node- 子ノードの数が増えた親ノードchildIndices- 挿入された子のインデックス
-
nodesWereRemoved
public void nodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren)
ユーザーがいくつかのTreeNodeをノードから削除した後でこのメソッドを呼び出します。childIndicesは削除された要素のインデックスで、昇順でソートされる必要があります。 そして、removedChildrenは、削除された子オブジェクトの配列になります。- パラメータ:
node- 子ノードが削除された親ノードchildIndices- 削除された子のインデックスremovedChildren- 削除された子オブジェクトの配列
-
nodesChanged
public void nodesChanged(TreeNode node, int[] childIndices)
childIndiciesで識別される子をツリー内で表現する方法をユーザーが変更したあとで、このメソッドを呼び出します。- パラメータ:
node- 変更されたノードchildIndices- 変更された子のインデックス
-
nodeStructureChanged
public void nodeStructureChanged(TreeNode node)
ノードの子、その子の子、などのようにユーザーがノードの子孫を全体的に変更した場合に、このメソッドを呼び出します。このメソッドは、treeStructureChangedイベントを送ります。- パラメータ:
node- 変更されたノード
-
getPathToRoot
public TreeNode[] getPathToRoot(TreeNode aNode)
ルート・ノードまでを含むノードの親を構築します。ただし、元のノードは返される配列内の最後の要素です。 返される配列の長さは、ツリー内のノードの深さを指定します。- パラメータ:
aNode- パスを取得するTreeNode- 戻り値:
- ルートからのパスを与えるTreeNodeの配列
-
getPathToRoot
protected TreeNode[] getPathToRoot(TreeNode aNode, int depth)
ルート・ノードまでを含むノードの親を構築します。ただし、元のノードは返される配列内の最後の要素です。 返される配列の長さは、ツリー内のノードの深さを指定します。- パラメータ:
aNode- パスを取得するTreeNodedepth- 返される配列のサイズ指定に使用する、(再帰呼出しで)すでに取得済みのルートまでのステップ数を示すint値- 戻り値:
- ルートから指定されたノードまでのパスを示すTreeNodeの配列
-
addTreeModelListener
public void addTreeModelListener(TreeModelListener l)
ツリーが変更されたあとに送信されたTreeModelEventのリスナーを追加します。- 定義:
addTreeModelListener、インタフェースTreeModel- パラメータ:
l- 追加するリスナー- 関連項目:
removeTreeModelListener(javax.swing.event.TreeModelListener)
-
removeTreeModelListener
public void removeTreeModelListener(TreeModelListener l)
以前にaddTreeModelListener()で追加されたリスナーを削除します。- 定義:
removeTreeModelListener、インタフェースTreeModel- パラメータ:
l- 削除するリスナー- 関連項目:
addTreeModelListener(javax.swing.event.TreeModelListener)
-
getTreeModelListeners
public TreeModelListener[] getTreeModelListeners()
このモデルに登録された、すべてのツリー・モデル・リスナーからなる配列を返します。- 戻り値:
- このモデルの
TreeModelListener全部。ツリー・モデル・リスナーが現在登録されていない場合は空の配列 - 導入されたバージョン:
- 1.4
- 関連項目:
addTreeModelListener(javax.swing.event.TreeModelListener),removeTreeModelListener(javax.swing.event.TreeModelListener)
-
fireTreeNodesChanged
protected void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children)
このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。- パラメータ:
source-TreeModelEventの発生元(通常はthis)path- 変更されたノードの親へのパス。ルートが変更されたことを特定するには、nullを使用するchildIndices- 変更された要素のインデックスchildren- 変更された要素
-
fireTreeNodesInserted
protected void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children)
このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。- パラメータ:
source-TreeModelEventの発生元(通常はthis)path- ノードが追加された親へのパスchildIndices- 新しい要素のインデックスchildren- 新規要素
-
fireTreeNodesRemoved
protected void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children)
このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。- パラメータ:
source-TreeModelEventの発生元(通常はthis)path- ノードが削除された親へのパスchildIndices- 削除された要素のインデックスchildren- 削除された要素
-
fireTreeStructureChanged
protected void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children)
このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。- パラメータ:
source-TreeModelEventの発生元(通常はthis)path- 変更された構造体の親へのパス。ルートが変更されたことを特定するには、nullを使用するchildIndices- 影響を受ける要素のインデックスchildren- 影響を受ける要素
-
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
このモデルにFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。FooListenerは、addFooListenerメソッドを使用して登録されます。FooListener.classなどのクラス・リテラルを使用してlistenerType引数を指定できます。 たとえば、次のコードを使用して、DefaultTreeModelmをそのツリー・モデル・リスナーに照会できます。TreeModelListener[] tmls = (TreeModelListener[])(m.getListeners(TreeModelListener.class));
このようなリスナーがない場合は空の配列を返します。- 型パラメータ:
T- リスナー型- パラメータ:
listenerType- リクエストされたリスナーの型- 戻り値:
- このコンポーネント上で
FooListenerとして登録されたすべてのオブジェクトの配列、またはこのようなリスナーが追加されていない場合は空の配列 - 例外:
ClassCastException-listenerTypeで、java.util.EventListenerを実装するクラスまたはインタフェースが指定されなかった場合- 導入されたバージョン:
- 1.3
- 関連項目:
getTreeModelListeners()
-
-