⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectjtree.java

📁 疯狂Java讲义_源码(含Java设计模式CHM
💻 JAVA
字号:
import javax.swing.*;
import javax.swing.tree.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.event.*;
/**
 * @author  yeeku.H.lee kongyeeku@163.com
 * @version  1.0
 * <br>Copyright (C), 2005-2008, yeeku.H.Lee
 * <br>This program is protected by copyright laws.
 * <br>Program Name:
 * <br>Date: 
 */
public class SelectJTree  
{
	JFrame jf = new JFrame("监听树的选择事件");

	JTree tree;
	//定义几个初始节点
	DefaultMutableTreeNode root = new DefaultMutableTreeNode("中国"); 
	DefaultMutableTreeNode guangdong = new DefaultMutableTreeNode("广东");
	DefaultMutableTreeNode guangxi = new DefaultMutableTreeNode("广西");
	DefaultMutableTreeNode foshan = new DefaultMutableTreeNode("佛山");
	DefaultMutableTreeNode shantou = new DefaultMutableTreeNode("汕头");
	DefaultMutableTreeNode guilin = new DefaultMutableTreeNode("桂林");
	DefaultMutableTreeNode nanning = new DefaultMutableTreeNode("南宁");

	JTextArea eventTxt = new JTextArea(5 , 20);

	public void init()
	{
		//通过add方法建立树节点之间的父子关系
		guangdong.add(foshan);
		guangdong.add(shantou);
		guangxi.add(guilin);
		guangxi.add(nanning);
		root.add(guangdong);
		root.add(guangxi);
		//以根节点创建树
		tree = new JTree(root);
		//设置只能选择一个TreePath
		tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); 
		//添加监听树节点选择事件的监听器
		tree.addTreeSelectionListener(new TreeSelectionListener()
		{
			//当JTree中被选择节点发生改变时,将触发该方法
			public void valueChanged(TreeSelectionEvent e)
			{

				if (e.getOldLeadSelectionPath() != null)
					eventTxt.append("原选中的节点路径:" + e.getOldLeadSelectionPath().toString() + "\n");
				eventTxt.append("新选中的节点路径:" + e.getNewLeadSelectionPath().toString() + "\n");
			}
		}); 


		//设置是否显示根节点的“展开/折叠”图标,默认是false
		tree.setShowsRootHandles(true);
		//设置节点是否可见,默认是true
		tree.setRootVisible(true);

		Box box = new Box(BoxLayout.X_AXIS);
		box.add(new JScrollPane(tree));
		box.add(new JScrollPane(eventTxt));
		jf.add(box);
		jf.pack();
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setVisible(true);
	}

    public static void main(String[] args) 
    {
		new SelectJTree().init();
    }
}

⌨️ 快捷键说明

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