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 booleanノードが葉ノードかどうかをisLeafメソッドが判断する方法を決定します。protected EventListenerListリスナーです。protected TreeNodeツリーのルートです。 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明DefaultTreeModel(TreeNode root) どのノードでも子を持てるツリーを作成します。DefaultTreeModel(TreeNode root, boolean asksAllowsChildren) どのノードでも子を持てるかどうか、特定のノードだけが子を持てるかどうかを指定するツリーを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明voidツリーが変更されたあとに送信されたTreeModelEventのリスナーを追加します。boolean葉ノードの判別方法を通知します。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) このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。親の持つ子配列の、インデックス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) ルート・ノードまでを含むノードの親を構築します。ただし、元のノードは返される配列内の最後の要素です。getRoot()ツリーのルートを返します。このモデルに登録された、すべてのツリー・モデル・リスナーからなる配列を返します。voidinsertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index) このメソッドを呼び出して、親の子たちの位置インデックスにnewChildを挿入します。boolean指定のノードが葉ノードかどうかを返します。voidnodeChanged(TreeNode node) ユーザーがツリー内のノードの表現方法を変更したあとで、このメソッドを呼び出します。voidnodesChanged(TreeNode node, int[] childIndices) このメソッドは、childIndicesで識別される子をツリーで表現する方法を変更した後に起動します。voidnodeStructureChanged(TreeNode node) ノードの子、その子の子、などのようにユーザーがノードの子孫を全体的に変更した場合に、このメソッドを呼び出します。voidnodesWereInserted(TreeNode node, int[] childIndices) ユーザーがいくつかのTreeNodeをノードに挿入したあとでこのメソッドを呼び出します。voidnodesWereRemoved(TreeNode node, int[] childIndices, Object[] removedChildren) ユーザーがいくつかのTreeNodeをノードから削除したあとでこのメソッドを呼び出します。voidreload()ユーザーがこのモデルの依存するTreeNodeを変更した場合、このメソッドを呼び出します。voidユーザーがこのモデルの依存するTreeNodeを変更した場合、このメソッドを呼び出します。voidこのメソッドをメッセージとして送って、ノードをその親から削除します。void以前にaddTreeModelListener()で追加されたリスナーを削除します。voidsetAsksAllowsChildren(boolean newValue) TreeNodeにgetAllowsChildren()またはisLeaf()で問い合わせることにより、葉かどうかの判定をするかしないかを設定します。voidルートを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
public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren) どのノードでも子を持てるかどうか、特定のノードだけが子を持てるかどうかを指定するツリーを作成します。- パラメータ:
root- ツリーのルートであるTreeNodeオブジェクトasksAllowsChildren- boolean型。どのノードでも子を持てる場合はfalse、各ノードが子を持てるかどうか確認するように求められる場合はtrue- 関連項目:
-
-
メソッドの詳細
-
setAsksAllowsChildren
public void setAsksAllowsChildren(boolean newValue) TreeNodeにgetAllowsChildren()またはisLeaf()で問い合わせることにより、葉かどうかの判定をするかしないかを設定します。 newvalueがtrueの場合は、getAllowsChildren()がメッセージとして送られます。そうでない場合は、isLeaf()がメッセージとして送られます。- パラメータ:
newValue- trueの場合、getAllowsChildren()がメッセージされ、それ以外の場合はisLeaf()がメッセージされます
-
asksAllowsChildren
public boolean asksAllowsChildren()葉ノードの判別方法を通知します。- 戻り値:
- 子を許可しないノードだけが葉ノードである場合はtrue、子を持たないノード(子は許可されていても)が葉ノードである場合はfalse
- 関連項目:
-
setRoot
public void setRoot(TreeNode root) ルートをrootに設定します。 nullのrootは、ツリーには何も表示されず、かつ適正であることを意味します。- パラメータ:
root- ツリー・ルートの新しい値
-
getRoot
-
getIndexOfChild
親の子のインデックスを返します。 親か子のどちらかがnullの場合は、-1を返します。- 定義:
getIndexOfChild、インタフェースTreeModel- パラメータ:
parent- このデータ・ソースから取得された、ツリー内のノードchild- 対象となるノード- 戻り値:
- 親の子のインデックス。親または子が
nullの場合は -1
-
getChild
親の持つ子配列の、インデックス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
-
reload
public void reload()ユーザーがこのモデルの依存するTreeNodeを変更した場合、このメソッドを呼び出します。 モデルは、それ自身が変更済みであることを、そのリスナーのすべてに通知します。 -
valueForPathChanged
パスで識別される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
ユーザーがいくつかのTreeNodeをノードから削除した後でこのメソッドを呼び出します。childIndicesは削除された要素のインデックスで、昇順でソートされる必要があります。 そして、removedChildrenは、削除された子オブジェクトの配列になります。- パラメータ:
node- 子が削除された親ノードchildIndices- 削除された子のインデックスremovedChildren- 削除された子オブジェクトの配列
-
nodesChanged
public void nodesChanged(TreeNode node, int[] childIndices) このメソッドは、childIndicesで識別される子をツリーで表現する方法を変更した後に起動します。- パラメータ:
node- 変更されたノードchildIndices- 変更された子どものインデックス
-
nodeStructureChanged
public void nodeStructureChanged(TreeNode node) ノードの子、その子の子、などのようにユーザーがノードの子孫を全体的に変更した場合に、このメソッドを呼び出します。このメソッドは、treeStructureChangedイベントを送ります。- パラメータ:
node- 変更されたノード
-
getPathToRoot
-
getPathToRoot
-
addTreeModelListener
public void addTreeModelListener(TreeModelListener l) ツリーが変更されたあとに送信されたTreeModelEventのリスナーを追加します。- 定義:
addTreeModelListener、インタフェースTreeModel- パラメータ:
l- 追加するリスナー- 関連項目:
-
removeTreeModelListener
public void removeTreeModelListener(TreeModelListener l) 以前にaddTreeModelListener()で追加されたリスナーを削除します。- 定義:
removeTreeModelListener、インタフェースTreeModel- パラメータ:
l- 削除するリスナー- 関連項目:
-
getTreeModelListeners
public TreeModelListener[] getTreeModelListeners()このモデルに登録された、すべてのツリー・モデル・リスナーからなる配列を返します。- 戻り値:
- このモデルの
TreeModelListener全部。ツリー・モデル・リスナーが現在登録されていない場合は空の配列 - 導入されたバージョン:
- 1.4
- 関連項目:
-
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
- 関連項目:
-