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

public DefaultMutableTreeNode(Object userObject)

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

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

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

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

DefaultMutableTreeNode treeNode = new DefaultMutableTreeNode("root");

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。