Java编程——森林状的关系图

 1 import java.awt.*;
 2 import javax.swing.*;
 3 import javax.swing.tree.*;
 4 import javax.swing.event.*;
 5 
 6 //森林状的关系图
 7 
 8 public class JTreeDemo extends JFrame{
 9     JTextField jtfInfo; //文本域,用于显示点击的节点名称
10     
11     public JTreeDemo(){
12         super("森林状的关系图");  //调用父类构造函数
13         
14         DefaultMutableTreeNode root = new DefaultMutableTreeNode("设置"); //生成根节点
15         DefaultMutableTreeNode node1=new DefaultMutableTreeNode("常规"); //生成节点一
16         node1.add(new DefaultMutableTreeNode("默认路径")); //增加新节点到节点一上
17         node1.add(new DefaultMutableTreeNode("保存选项"));
18         root.add(node1);  //增加节点一到根节点上
19         root.add(new DefaultMutableTreeNode("界面"));    
20         root.add(new DefaultMutableTreeNode("提示声音"));  
21         root.add(new DefaultMutableTreeNode("打印"));    
22         
23         JTree tree = new JTree(root);  //得到JTree的实例            
24            DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree.getCellRenderer(); //得到JTree的Renderer
25         renderer.setLeafIcon(null); //设置叶子节点图标为空
26         renderer.setClosedIcon(null);  //设置关闭节点的图标为空
27         renderer.setOpenIcon(null); //设置打开节点的图标为空
28         
29         tree.addTreeSelectionListener(new TreeSelectionListener() {  //选择节点的事件处理
30         public void valueChanged(TreeSelectionEvent evt) {
31             TreePath path = evt.getPath();  //得到选择路径
32             String info=path.getLastPathComponent().toString(); //得到选择的节点名称
33             jtfInfo.setText(info);  //在文本域中显示名称
34         }
35            });
36 
37 
38         JScrollPane jsp=new JScrollPane(tree); //增加JTree到滚动窗格
39         jtfInfo=new JTextField(); //实例化文本域
40         jtfInfo.setEditable(false); //文本域不可编辑
41         getContentPane().add(jsp,BorderLayout.CENTER);  //增加组件到容器上
42         getContentPane().add(jtfInfo,BorderLayout.SOUTH);
43         
44                 
45         setSize(250,200);  //设置窗口尺寸
46         setVisible(true);  //设置窗口可视
47         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
48     }
49     
50     public static void main(String[] args){
51         new JTreeDemo();
52     }
53 }

 

posted on 2017-11-14 23:16  小星_log  阅读(626)  评论(0编辑  收藏  举报