DefaultMutableTreeNodeクラスの定義とコンストラクタ
JTreeクラスでは1つ1つのノードはTreeNodeインターフェースを実装したクラスのオブジェクトとして定義されています。JTreeクラスのオブジェクトを作成する場合に初期データを指定した場合は指定された初期データからノードが自動的に作成されていると考えて下さい。
ここからはノードを直接扱ってJTreeクラスを利用する方法を見ていきます。TreeNodeインターフェースを継承したMutableTreeNodeインターフェースが定義されており、さらにMutableTreeNodeインタフェースを実装したDefaultMutableTreeNodeクラスが用意されています。その為、ノードを直接扱うにはDefaultMutableTreeNodeクラスを利用します。
DefaultMutableTreeNodeクラスの定義を確認します。クラス図は次のようになっています。
- java.lang.Object
- javax.swing.tree.DefaultMutableTreeNode
- public class DefaultMutableTreeNode extends Object implements Cloneable, MutableTreeNode, Serializable
DefaultMutableTreeNodeクラスはMutableTreeNodeインターフェースを実装したクラスです。
DefaultMutableTreeNodeクラスのコンストラクタ
DefaultMutableTreeNodeクラスをを利用するにはコンストラクタを使ってDefaultMutableTreeNodeクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。
コンストラクタ |
---|
DefaultMutableTreeNode() 親も子も持たないツリーノードを作成します。 |
DefaultMutableTreeNode(Object userObject) 親も子も持たないツリーノードを作成し、指定されたユーザーオブジェクトで初期化します。 |
DefaultMutableTreeNode(Object userObject, boolean allowsChildren) 親も子もないツリーノードを作成します。 |
コンストラクタは3つ用意されています。ツリーノードの初期データを指定するかどうかで使い分けます。
では2番目のコンストラクタを確認してみます。
DefaultMutableTreeNode public DefaultMutableTreeNode(Object userObject)
親も子も持たないツリーノードを作成し、指定されたユーザーオブジェクトで 初期化します。このツリーノードは子を持つことができます。 パラメータ: userObject - ユーザーが提供する、ノードのデータを構成する Object
引数にノードのデータを表すObject型の値を指定してノードを作成します。
実際の使い方は次のようになります。
DefaultMutableTreeNode treeNode = new DefaultMutableTreeNode("root");
( Written by Tatsuo Ikura )