DefaultTreeModelクラスの定義とコンストラクタ
JTreeクラスでデータ管理を行っているのがTreeModelインターフェースを実装したクラスとなります。本来データ管理はTreeModelを利用するのですがJTreeにおいてはTreeNodeやTreePathなどを使っても管理が出来るようになっているため必ずしもTreeModelを使わなければならないわけではありません。
実際に利用するにはTreeModelインターフェースの実装クラスであるDefaultTreeModelクラスが用意されています。ここからはDefaultTreeModelクラスを利用する方法を確認していきます。
DefaultTreeModelクラスの定義を確認します。クラス図は次のようになっています。
java.lang.Object javax.swing.tree.DefaultTreeModel public class DefaultTreeModel extends Object implements Serializable, TreeModel
DefaultTreeModelクラスはTreeModelインターフェースを実装したクラスです。
DefaultTreeModelクラスのコンストラクタ
DefaultTreeModelクラスをを利用するにはコンストラクタを使ってDefaultTreeModelクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。
コンストラクタ |
---|
DefaultTreeModel(TreeNode root) どのノードでも子を持てるツリーを作成します。 |
DefaultTreeModel(TreeNode root, boolean asksAllowsChildren) どのノードでも子を持てるかどうか、特定のノードだけが子を持てるかどうかを指定するツリーを作成します。 |
コンストラクタは2つ用意されています。ツリーに含まれるノードが子ノードを持てるかどうかを指定するかどうかで使い分けます。
では1番目のコンストラクタを確認してみます。
public DefaultTreeModel(TreeNode root)
どのノードでも子を持てるツリーを作成します。 パラメータ: root - ツリーのルートである TreeNode オブジェクト
引数にルートノードを表すのデータを表すDefaultMutableTreeNodeクラスのオブジェクトを指定します。
実際の使い方は次のようになります。
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("root"); DefaultTreeModel model = new DefaultTreeModel(rootNode);
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。