JTree クラス( DefaultMutableTreeNode )

import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.awt.event.*;

public class Test {
	public static void main (String[] args)
	{
		Win win = new Win("Test Window");
	}
}

/*******************/
/* クラスWinの定義 */
/*******************/
class Win extends JFrame {

	/******************/
	/* コンストラクタ */
	/******************/
	Win (String name)
	{
					// Frameクラスのコンストラクタ(Windowのタイトルを引き渡す)
		super(name);
					// 木構造データの作成
		Font f = new Font("MS 明朝", Font.PLAIN, 20);

		DefaultMutableTreeNode root = new DefaultMutableTreeNode("生物");

			DefaultMutableTreeNode dobutu = new DefaultMutableTreeNode("動物");
			root.add(dobutu);

				DefaultMutableTreeNode inu = new DefaultMutableTreeNode("犬");
				dobutu.add(inu);
				DefaultMutableTreeNode neko = new DefaultMutableTreeNode("猫");
				dobutu.add(neko);

			DefaultMutableTreeNode shokubutu = new DefaultMutableTreeNode("植物");
			root.add(shokubutu);

				DefaultMutableTreeNode sakura = new DefaultMutableTreeNode("桜");
				shokubutu.add(sakura);
				DefaultMutableTreeNode ajisai = new DefaultMutableTreeNode("紫陽花");
				shokubutu.add(ajisai);
				DefaultMutableTreeNode asagao = new DefaultMutableTreeNode("朝顔");
				shokubutu.add(asagao);
					// 木構造を生成
		JTree tree = new JTree(root);
		tree.setFont(f);
		tree.putClientProperty("JTree.lineStyle", "Angled");
		getContentPane().add(new JScrollPane(tree));
					// Windowの大きさ
		setSize(200, 200);
					// ウィンドウを表示
		setVisible(true);
					// イベントアダプタ
		addWindowListener(new WinEnd());
	}

	/******************************/
	/* 上,左,下,右の余白の設定 */
	/******************************/
	public Insets getInsets()
	{
		return new Insets(35, 10, 10, 10);
	}

	/************/
	/* 終了処理 */
	/************/
	class WinEnd extends WindowAdapter
	{
		public void windowClosing(WindowEvent e) {
			System.exit(0);
		}
	}
}