JavaA2Z

KAB-studio > プログラミング > JavaA2Z > JTreeとは

JTree

日本語 ジャバ木
英語 java tree
ふりがな じぇいつりー
フリガナ ジェイツリー

解説

木構造の画面表示用クラス
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名javax.swing.JTree。
WindowsのExplorerのように、木構造(ツリー形式)のGUIを表示し、入力を受け付けるためのコンポーネント。
 
Swingクラスのひとつ。
DefaultMutableTreeNodeクラスによって「木構造」を構成しJTreeクラスに渡すことで、木構造を画面表示することができる。
入力はTreeSelectionListenerインターフェイス実装クラスを作り、valueChanged()メソッドオーバーライドし、JTreeクラスのaddTreeSelectionListener()メソッドに渡すことで、木構造の各要素を選択した際にvalueChanged()メソッドが呼ばれるようになる。

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;

public class Sample
{
    public static void main( String[] args )
    {
        // DefaultMutableTreeNodeクラスを使用して「木構造」を作ります。
        // 
        // C:
        // |-WinNT
        // | |-System32
        // 
        // となるようにします。

        // まず一番根本、「C:」要素を作ります。
        DefaultMutableTreeNode root = new DefaultMutableTreeNode( "C:" );
        // そこに「WinNT」要素を追加します。
        DefaultMutableTreeNode item = new DefaultMutableTreeNode( "WinNT" );
        root.add( item );
        // さらに「System32」要素を追加します。
        DefaultMutableTreeNode subItem = new DefaultMutableTreeNode( "System32" );
        item.add( subItem );

        // 以上の木構造を元にJTreeクラスを作ります。
        JTree jTree = new JTree( root );

        // イベントハンドラとなるリスナークラスを作ってセットします。
        JTreeListener listener = new JTreeListener( jTree );
        jTree.addTreeSelectionListener( listener );

        // フレームウィンドウを作ります。
        JFrame jFrame = new JFrame( "ウィンドウタイトル" );
        // 「閉じるボタン」が押されたら終了するようにします。
        jFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        // サイズを200x200にします。
        jFrame.setSize( 200, 200 );
        // フレームウィンドウにJTreeを貼り付けます。
        jFrame.getContentPane().add( jTree );
        // そしてウィンドウを表示します。
        jFrame.setVisible( true );
    }
}

/**
*   JTree用リスナークラス。
*/
class JTreeListener implements TreeSelectionListener
{
    // 対象のJTree。
    private JTree jTree;

    /**
    *    コンストラクタ
    */
    public JTreeListener( JTree jTree )
    {
        this.jTree = jTree;
    }

    /**
    *   ツリーの要素が選択されたときに呼ばれるメソッドです。
    */
    public void valueChanged( TreeSelectionEvent e )
    {
        // JTreeクラスのgetLastSelectedPathComponent()メソッドで、
        // 選択されている要素を取得します。
        DefaultMutableTreeNode current = (DefaultMutableTreeNode)jTree.getLastSelectedPathComponent();
        System.out.println( current );
    }
}
// Sample.java
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;

public class Sample
{
    public static void main( String[] args )
    {
        // DefaultMutableTreeNodeクラスを使用して「木構造」を作ります。
        // 
        // C:
        // |-WinNT
        // | |-System32
        // 
        // となるようにします。

        // まず一番根本、「C:」要素を作ります。
        DefaultMutableTreeNode root = new DefaultMutableTreeNode( "C:" );
        // そこに「WinNT」要素を追加します。
        DefaultMutableTreeNode item = new DefaultMutableTreeNode( "WinNT" );
        root.add( item );
        // さらに「System32」要素を追加します。
        DefaultMutableTreeNode subItem = new DefaultMutableTreeNode( "System32" );
        item.add( subItem );

        // 以上の木構造を元にJTreeクラスを作ります。
        JTree jTree = new JTree( root );

        // イベントハンドラとなるリスナークラスを作ってセットします。
        JTreeListener listener = new JTreeListener( jTree );
        jTree.addTreeSelectionListener( listener );

        // フレームウィンドウを作ります。
        JFrame jFrame = new JFrame( "ウィンドウタイトル" );
        // 「閉じるボタン」が押されたら終了するようにします。
        jFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        // サイズを200x200にします。
        jFrame.setSize( 200, 200 );
        // フレームウィンドウにJTreeを貼り付けます。
        jFrame.getContentPane().add( jTree );
        // そしてウィンドウを表示します。
        jFrame.setVisible( true );
    }
}

/**
*   JTree用リスナークラス。
*/
class JTreeListener implements TreeSelectionListener
{
    // 対象のJTree。
    private JTree jTree;

    /**
    *    コンストラクタ
    */
    public JTreeListener( JTree jTree )
    {
        this.jTree = jTree;
    }

    /**
    *   ツリーの要素が選択されたときに呼ばれるメソッドです。
    */
    public void valueChanged( TreeSelectionEvent e )
    {
        // JTreeクラスのgetLastSelectedPathComponent()メソッドで、
        // 選択されている要素を取得します。
        DefaultMutableTreeNode current = (DefaultMutableTreeNode)jTree.getLastSelectedPathComponent();
        System.out.println( current );
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/10/15
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。