13. ツリー
ユーザインタフェース 13章 ツリー
13.1. javax.swing.JTree
「JTree」は階層状のデータを表示するツリーコンポーネントです。作成には、「TreeNode」インタフェースを実装したクラス「javax.swing.tree.DefaultMutableTreeNode」を利用します。
DefaultMutableTreeNode root=new DefaultMutableTreeNode("Baseball"); DefaultMutableTreeNode parent=new DefaultMutableTreeNode("central"); parent.add(new DefaultMutableTreeNode("giants")); parent.add(new DefaultMutableTreeNode("dragons")); ... root.add(parent); parent=new DefaultMutableTreeNode("pacific"); .... JTree tree=new JTree(root);
最初にツリーのルートに相当するオブジェクトを「DefaultMutableTreeNode」を使用して作成します。そして「add」メソッドを使用し、子となるオブジェクトを次々に追加していきます。子オブジェクトは「MutableTreeNode」インタフェースを実装したクラスでなければならないのですが、通常は「DefaultMutableTreeNode」クラスを使用します。「MutableTreeNode」は「TreeNode」を拡張したインタフェースです。
最後にルートオブジェクトを「JTree」クラスのコンストラクタに引き渡して終了です。以下のようなウィンドウが作成できます。子供を持たないノードが自動的にリーフとなります。