jtreedemo.java

来自「java课程的资料以及实验的代码」· Java 代码 · 共 58 行

JAVA
58
字号
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;

public class JTreeDemo extends JFrame{
  JTree tree;
  JTextField jtf;
  public JTreeDemo() {
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

//建立一颗树
    DefaultMutableTreeNode top = new DefaultMutableTreeNode("Options");
    DefaultMutableTreeNode a = new DefaultMutableTreeNode("A");
    top.add(a);
    DefaultMutableTreeNode a1 = new DefaultMutableTreeNode("A1");
    a.add(a1);
    DefaultMutableTreeNode a2 = new DefaultMutableTreeNode("A2");
    a.add(a2);

    DefaultMutableTreeNode b = new DefaultMutableTreeNode("B");
    top.add(b);
    DefaultMutableTreeNode b1 = new DefaultMutableTreeNode("B1");
    b.add(b1);
    DefaultMutableTreeNode b2 = new DefaultMutableTreeNode("B2");
    b.add(b2);
    DefaultMutableTreeNode b3 = new DefaultMutableTreeNode("B3");
    b.add(b3);

    //使用头节点创建树
    tree = new JTree(top);

    JScrollPane jsp = new JScrollPane(tree);
    contentPane.add(jsp, BorderLayout.CENTER);

    jtf = new JTextField("", 20);
    contentPane.add(jtf, BorderLayout.SOUTH);

    // Anonymous inner class to handle mouse clicks
    tree.addMouseListener(new MouseAdapter() {
      public void mouseClicked(MouseEvent me) {
        TreePath tp = tree.getPathForLocation(me.getX(), me.getY());
        if(tp != null)
          jtf.setText(tp.toString());
        else
          jtf.setText("");
      }
    });
 	}
 	
  public static void main(String[] args){
  	JTreeDemo s=new JTreeDemo();
  	s.setSize(400,300);
  	s.setVisible(true);
  }
}

⌨️ 快捷键说明

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