タイトル
TOPJavaSwingJTree → This Page

JTree@Swing サンプル01

概要

Java - Swing - JTree のサンプルです。
・色々なコンストラクタ

解説

色々なコンストラクタでツリーを作成します。
ツリー1は引数なしコンストラクタで作成、
ツリー2はハッシュテーブルで作成、
ツリー3は配列オブジェクトで作成、
ツリー4はツリーノードで作成、
ツリー5はツリーノードで作成(葉ノード指定)、
ツリー6はベクターで作成しています。

ツリーノード を作成にするは DefaultMutableTreeNode クラスを使います。
コンストラクタ/説明引数引数説明
DefaultMutableTreeNode()
親も子も持たないツリーノードを作成
- -
DefaultMutableTreeNode(Object userObject)
親も子も持たないツリーノードを作成し、指定されたユーザーオブジェクトで初期化
userObject ユーザーオブジェクト
DefaultMutableTreeNode(Object userObject, boolean allowsChildren)
親も子も持たないツリーノードを作成し、指定されたユーザーオブジェクトで初期化
userObject ユーザーオブジェクト
allowsChildren 子ノードを受け入れるかどうか


サンプルイメージ

サンプル画像


サンプルソース

import java.util.Hashtable;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;

/**
 * JTree サンプル01
 * ・色々なコンストラクタ
 * 
 * @author みっちー
 */
public class JTree01 extends JFrame {
	
	private static final long serialVersionUID = 1L;
	
	/**
	 * 開始メソッド
	 * 
	 * @param args	パラメータ
	 */
	public static void main(String[] args) {
		JTree01 frame = new JTree01();
		
		// 閉じるボタンをクリックされた場合の動作を設定
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		// ウインドウのタイトルを設定
		frame.setTitle("JTree サンプル01");
		
		// フレームの X座標、Y座標、幅、高さを設定
		frame.setBounds(100, 200, 700, 200);
		
		// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
		frame.setVisible(true);
	}
	
	/**
	 * コンストラクタ
	 */
	public JTree01() {
		// パネルを作成
		JPanel panelBase = new JPanel();
		
		// ハッシュテーブルを作成
		Hashtable<String, String> dataHashSub = new Hashtable<String, String>();
		dataHashSub.put("water", "water");
		dataHashSub.put("cofe", "cofe");
		dataHashSub.put("cola", "cola");
		Hashtable<String, Object> dataHash = new Hashtable<String, Object>();
		dataHash.put("food", "food");
		dataHash.put("drink", dataHashSub);
		dataHash.put("sweets", "sweets");
		
		// 配列を作成
		String[] dataArraySub = { "water", "cofe", "cola" };
		Object[] dataArray = { "food", dataArraySub, "sweets" };
		
		// TreeNode を作成
		DefaultMutableTreeNode treeNode1 = new DefaultMutableTreeNode("root");
		DefaultMutableTreeNode treeNode2 = new DefaultMutableTreeNode("root");
		
		// ベクターを作成
		Vector<String> dataVectorSub = new Vector<String>();
		dataVectorSub.add("water");
		dataVectorSub.add("cofe");
		dataVectorSub.add("cola");
		Vector<Object> dataVector = new Vector<Object>();
		dataVector.add("food");
		dataVector.add(dataVectorSub);
		dataVector.add("sweets");
		
		// ツリーを作成
		JTree tree1 = new JTree();
		JTree tree2 = new JTree(dataHash);
		JTree tree3 = new JTree(dataArray);
		JTree tree4 = new JTree(treeNode1);
		JTree tree5 = new JTree(treeNode2, true);
		JTree tree6 = new JTree(dataVector);
		
		// ツリーを追加
		panelBase.add(tree1);
		panelBase.add(tree2);
		panelBase.add(tree3);
		panelBase.add(tree4);
		panelBase.add(tree5);
		panelBase.add(tree6);
		
		// パネルを追加
		getContentPane().add(panelBase);
	}
}

サンプルソースのダウンロード

ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)

更新履歴

2016/05/13 新規作成


TOPJavaSwingJTree → This Page