JTree的用法

    技术2022-05-11  8

    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)