监听树的选择事件
来源:互联网 发布:淘宝上的优衣库代购 编辑:程序博客网 时间:2024/05/23 01:21
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
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();
}
}
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
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();
}
}
- 监听树的选择事件
- Ext 组合框的选择监听事件
- JTabel选择表格事件监听时,用鼠标点击一次,会出现两次事件的原因。
- [Servlet]事件监听,ServletContext的事件监听
- [Servlet]事件监听,ServletContext的事件监听
- JList监听,选择会得到两次事件
- JTree的事件监听
- JTabbedPane的事件监听
- combobox的监听事件
- Hibernate的事件监听
- EditText的监听事件
- UIMenuController的事件监听
- 监听事件的使用
- java的事件监听
- 监听事件的创建
- 安卓下的事件监听
- RecyclerView的事件监听
- Viewpager的监听事件
- Ubuntu及其衍生发行版硬盘安装方法(grub2)
- vs2010 操作
- 图片查看器
- window 开始运行指令(方便使用而已)
- 1-15 实验12 ZigBee无线传感器网络远程数据采集系统
- 监听树的选择事件
- 二叉树树的先序遍历,中序遍历和后序遍历
- JAVA 对象引用,以及对象赋值
- C++Vector简单操作
- Oracle数据库在Server 2008中的使用
- android:gravity和android:layout_gravity区别
- OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题)
- UVA - 10056 What is the Probability ?
- UVa 11417 GCD (欧拉φ函数)