jtreeusedemo.java

来自「JAVA编程思想源代码 值得一下 很难找的」· Java 代码 · 共 68 行

JAVA
68
字号
package chapter11;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JApplet;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.ScrollPaneConstants;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;

public class JTreeUseDemo extends JApplet {
	JTree tree;

	JTextField jtf;

	public void init() {

		setLayout(new BorderLayout());
		// 创建树的节点
		DefaultMutableTreeNode top = new DefaultMutableTreeNode("Options");
		// 子树节点A
		DefaultMutableTreeNode a = new DefaultMutableTreeNode("水果");
		top.add(a);
		DefaultMutableTreeNode a1 = new DefaultMutableTreeNode("西瓜");
		a.add(a1);
		DefaultMutableTreeNode a2 = new DefaultMutableTreeNode("鸭梨");
		a.add(a2);
		DefaultMutableTreeNode a3 = new DefaultMutableTreeNode("香蕉");
		a.add(a3);
		// 子树节点B
		DefaultMutableTreeNode b = new DefaultMutableTreeNode("蔬菜");
		top.add(b);
		DefaultMutableTreeNode b1 = new DefaultMutableTreeNode("生菜");
		b.add(b1);
		DefaultMutableTreeNode b2 = new DefaultMutableTreeNode("黄瓜");
		b.add(b2);
		DefaultMutableTreeNode b3 = new DefaultMutableTreeNode("茄子");
		b.add(b3);
		// 创建树
		tree = new JTree(top);
		// 将树添加至JScrollPane
		JScrollPane jsp = new JScrollPane(tree,
				ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
				ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		add(jsp, BorderLayout.CENTER);
		// 利用jtf显示用户选择
		jtf = new JTextField("", 20);
		add(jtf, BorderLayout.SOUTH);
		// 树的监听器
		tree.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent me) {

				TreePath tp = tree.getPathForLocation(me.getX(), me.getY());
				if (tp != null)
					jtf.setText(tp.toString());
				else
					jtf.setText("");
			}
		});
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?