Java用户树形结构

15453阅读 1评论2011-07-20 高傲的活着
分类:Java

  1. package simpletreetest;
  2. import java.awt.*;
  3. import javax.swing.*;
  4. import javax.swing.tree.*;
  5. import javax.swing.event.*;
  6. import javax.swing.text.AbstractDocument.BranchElement;
  7. public class MyFrame extends JFrame{
  8.     private JTree tree;
  9.     
  10.     public MyFrame(){
  11.         setTree();
  12.         this.add(tree);
  13.         this.setSize(500,300);
  14.     }
  15.     
  16.     public void setTree(){
  17.         DefaultMutableTreeNode lx=new DefaultMutableTreeNode("联系人");
  18.         DefaultMutableTreeNode qr=new DefaultMutableTreeNode("亲人");
  19.         DefaultMutableTreeNode ba=new DefaultMutableTreeNode("爸爸");
  20.         DefaultMutableTreeNode jj=new DefaultMutableTreeNode("姐姐");
  21.         DefaultMutableTreeNode tx=new DefaultMutableTreeNode("同学");
  22.         DefaultMutableTreeNode cy=new DefaultMutableTreeNode("程远");
  23.         DefaultMutableTreeNode py=new DefaultMutableTreeNode("朋友");
  24.         DefaultMutableTreeNode wz=new DefaultMutableTreeNode("武总");
  25.         
  26.         lx.add(qr);
  27.         qr.add(ba);
  28.         qr.add(jj);
  29.         
  30.         lx.add(tx);
  31.         tx.add(cy);
  32.         
  33.         lx.add(py);
  34.         py.add(wz);
  35.         
  36.         tree=new JTree(lx);
  37.         tree.addTreeSelectionListener(new TreeSelectionListener() {

  38.             public void valueChanged(TreeSelectionEvent e) {
  39.                 DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
  40.                 if(node==null) return;
  41.                 if(node.isLeaf()){
  42.                     leaf(node);
  43.                 }else{
  44.                   branch(node);
  45.                 }
  46.                 
  47.             }
  48.         });
  49.     }
  50.        private void leaf(DefaultMutableTreeNode node){
  51.        System.out.println("叶节点:" + node.getUserObject());
  52.        }


  53.        private void branch(DefaultMutableTreeNode node) {
  54.          System.out.println("枝节点:" + node.getUserObject());
  55.        }

  56.         
  57.       public static void main(String[] args) {
  58.          JFrame frame = new MyFrame();
  59.          frame.setVisible(true);
  60. }
  61. }

运行效果:

参考资料:

上一篇:网页聊天室的原理
下一篇:Openfire PK腾讯通RTX

文章评论