树选中节点事件

package button2;
import java.awt.*;
import java.util.EventListener;
import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
 interface TreeSelectionListener extends EventListener{
 void valueChanged(TreeSelectionEvent e);
 
}
public class getmain extends JFrame{
 @SuppressWarnings("null")
 public getmain() {
  DefaultMutableTreeNode root=new DefaultMutableTreeNode("本地磁盘");//建立树
  DefaultMutableTreeNode node11=new DefaultMutableTreeNode("图片");
  DefaultMutableTreeNode node12=new DefaultMutableTreeNode("音乐");
  DefaultMutableTreeNode node111 =new DefaultMutableTreeNode("千山--世博园旅游");
  DefaultMutableTreeNode node112=new DefaultMutableTreeNode("凤凰山--大鹿岛旅游");
  DefaultMutableTreeNode node1111=new DefaultMutableTreeNode("美景");
  DefaultMutableTreeNode node1112=new DefaultMutableTreeNode("美人");
  node111.add(node1111);
  node111.add(node1112);
  node11.add(node111);
  node11.add(node112);
  root.add(node11);
  root.add(node12);
  JTree tree = new JTree(root);
  getContentPane().add(tree);
  setVisible(true);
  TreeSelectionModel tSM;
  tSM=tree.getSelectionModel();
  tSM.setSelectionMode(2);//设置树的选择模式,允许几个被选中
  @SuppressWarnings("hiding")
  class TreeSelectionListener implements javax.swing.event.TreeSelectionListener  {//处理选中事件
   public void valueChanged(TreeSelectionEvent e) {//实现接口
    if(!tree.isSelectionEmpty()) {   //查看是否有选中的节点
     TreePath[]sPath=tree.getSelectionPaths();//得到被选中点的路径,返回一个TreePath数组
     for(int i=0;i<sPath.length;i++) {
      TreePath tPath=sPath[i];//
      Object[]Path=tPath.getPath();//以Object数组的形式返回路径中所有节点的对象
      for(int j=0;j<Path.length;j++) {
       DefaultMutableTreeNode node;
       node=(DefaultMutableTreeNode)Path[j];
       String s=node.getUserObject()+(j==(Path.length-1)?"":"-->");//输出节点标签
       System.out.println(s);
      }
      System.out.println();
      
     }
     System.out.println();
    }
   }
  
   
  }
  TreeSelectionListener tsl=new TreeSelectionListener();//监听器
  tree.addTreeSelectionListener(tsl);
 }
 public static void main(String args[]) {
  new getmain();
 }xu
x
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值