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番目のコンストラクタを確認してみます。

親も子も持たないツリーノードを作成し、指定されたユーザーオブジェクトで
初期化します。このツリーノードは子を持つことができます。

パラメータ:
  userObject - ユーザーが提供する、ノードのデータを構成する Object

引数にノードのデータを表すObject型の値を指定してノードを作成します。

実際の使い方は次のようになります。

DefaultMutableTreeNode treeNode = new DefaultMutableTreeNode("root");

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)