JTree的用法

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

class  JTreeTest
{
 JFrame f = new JFrame("JTree的用法");
 JScrollPane jsp = new JScrollPane();
 JPanel jp = new JPanel(new GridLayout(3,1,5,10));
 JLabel l1 = new JLabel("显示节点路径");
 JLabel l2 = new JLabel("显示节点索引");
 JLabel l3 = new JLabel("显示节点对象");
 Font ft = new Font("Serif",Font.BOLD,18);
 JTree tr;
 void go()
 {
  DefaultMutableTreeNode root,node1,node11;
  f.getContentPane().add(jsp);
  f.getContentPane().add("East",jp);
  jp.add(l1);jp.add(l2);jp.add(l3);
  jp.setBackground(Color.white);
  root = new DefaultMutableTreeNode("学校");
  root.add(node1 = new DefaultMutableTreeNode("南京师范大学"));
  node1.add(node11 = new DefaultMutableTreeNode("数科院"));
  node11.add(new DefaultMutableTreeNode("计算机系"));
  node11.add(new DefaultMutableTreeNode("软件工程系"));
  node11.add(new DefaultMutableTreeNode("数学系"));
  node1.add(node11 = new DefaultMutableTreeNode("文学院"));
  node11.add(new DefaultMutableTreeNode("古代文学系"));
  node11.add(new DefaultMutableTreeNode("现代文学系"));
  root.add(node1 = new DefaultMutableTreeNode("东南大学"));
  node1.add(node11 = new DefaultMutableTreeNode("建筑学院"));
  node11.add(new DefaultMutableTreeNode("设计系"));
  node11.add(new DefaultMutableTreeNode("材料系"));
  node11.add(new DefaultMutableTreeNode("力学系"));
  node1.add(node11 = new DefaultMutableTreeNode("计算机学院"));
  node11.add(new DefaultMutableTreeNode("网络系"));
  node11.add(new DefaultMutableTreeNode("计算机安全系"));
  root.add(node1 = new DefaultMutableTreeNode("海南大学"));
  tr = new JTree(root);
  tr.setFont(ft);
  tr.setShowsRootHandles(true);
  jsp.getViewport().add(tr);
  l1.setFont(ft);
  l2.setFont(ft);
  l3.setFont(ft);
  f.setSize(400,350);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  f.setResizable(true);
  f.setVisible(true);
  tr.addTreeSelectionListener(new TreeH());

 }
 public static void main(String[] args)
 {
  JTreeTest that = new JTreeTest();
  that.go();
 }
 class TreeH implements TreeSelectionListener
 {
  public void valueChanged(TreeSelectionEvent e)
  {
   TreePath tp;
   int idx;
   String str;
   DefaultMutableTreeNode dmt;
   tp = tr.getSelectionPath();
   dmt = (DefaultMutableTreeNode)tr.getLastSelectedPathComponent();
   str = (String)dmt.getUserObject();
   idx = tr.getRowForPath(tp);
   l1.setText(tp.toString());
   l2.setText("索引=" +idx);
   l3.setText(str);
  }
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值