Google検索エンジン

トップページ » Javaアプリケーション開発 » JTreeツリーマップ(構造)の表示


JTreeの使い方(ツリーマップ、構造を表示する方法)

  • ツリーマップを表示するときはJTreeクラスを使用します。 ツリーマップは、階層データのセットをアウトラインで表示することで視覚的に分かりやすいようにします。

    まずはツリーの各ノードを作成するために、DefaultMutableTreeNodeクラスを使用します。 次にノードに子ノードを追加するためにaddメソッドを使用します。 追加の方法は、親にしたい直前のノードに対してaddメソッドを使用して、子ノードを指定するようにします。

    ノードの選択状態を監視するときは、TreeSelectionListenerをimplementsします。 選択されているノードを取得するときは、getLastSelectedPathComponentメソッドを使用します。 なお、JTreeの値を設定せずに初期化した場合は、サンプルモデルを持つ JTree を返します。


    JTreeを使ってツリーマップ(構造)を表示した例
    JTreeを使ってツリーマップ(構造)を表示したサンプル画像
    サンプルソースコード
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    
    public class JTreeSample extends JFrame
                             implements TreeSelectionListener {
       DefaultMutableTreeNode top
                        = new DefaultMutableTreeNode("top");
       DefaultMutableTreeNode sub1
                        = new DefaultMutableTreeNode("sub1");
       DefaultMutableTreeNode sub2
                        = new DefaultMutableTreeNode("sub2");
       DefaultMutableTreeNode sub1_1
                        = new DefaultMutableTreeNode("sub1-1");
       DefaultMutableTreeNode sub1_2
                        = new DefaultMutableTreeNode("sub1-2");
       DefaultMutableTreeNode sub1_3
                        = new DefaultMutableTreeNode("sub1-3");
       DefaultMutableTreeNode sub1_3_1
                        = new DefaultMutableTreeNode("sub1-3-1");
       JTreeSample() {
          JTree tree = new JTree(top);
          tree.setRootVisible(true);
          tree.addTreeSelectionListener(this);
          getContentPane().add(tree);
    
          top.add(sub1);
          top.add(sub2);
          sub1.add(sub1_1);
          sub1.add(sub1_2);
          sub1.add(sub1_3);
          sub1_3.add(sub1_3_1);
    
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setTitle("JTreeを使ってツリーマップ(構造)を表示");
          setSize(530, 200);
          setVisible(true);
       }
       public void valueChanged(TreeSelectionEvent e) {
          JTree tree = (JTree)e.getSource();
          DefaultMutableTreeNode node =
            (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
          if (node != null) {
            System.out.println((String)node.getUserObject());
          }
       }
       public static void main(String[] args) {
          new JTreeSample();
       }
    }
    

Swingでアプリのパーツを表示する方法
書籍の紹介
  • プログラマが知るべき97のこと
    プログラマが知るべき97のこと
    発売:2010/12/18
    定価:1,995円
    著者:和田 卓人
    出版:オライリージャパン
    内容:世界中で活躍するプログラマによる97本のエッセイを収録した書籍です。プログラミングにおいてもっとも重要な事柄は何か、バージョン管理やテスティング、設計原則とコーディングテクニック、また腕を磨くための勉強法などについて、経験豊かなプログラマが自らの体験を踏まえて解説します。
  • 明解Java 入門編
    明解Java 入門編
    発売:2007/08/08
    定価:2,730円
    著者:柴田 望洋
    出版:ソフトバンククリエイティブ
    内容:丁寧な解説と適切なサンプルプログラム248編と、豊富で分かりやすい図表278点で、Javaの基礎から学習できます。Javaプログラミング初心者におすすめの一冊です。
  • Effective Java 第2版 (The Java Series)
    Effective Java
    発売:2008/11/27
    定価:3,780円
    著者:Joshua Bloch他
    出版:ピアソンエデュケーション
    内容:著者のGoogle, Sun Microsystemsにおけるソフトウェア開発で得た知識・経験をまとめています。Javaプログラミングをする全てのSE必読の書籍です。