揭帖吧,浪费我一个小时,呵呵。
***********************************************************************
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.tree.DefaultMutableTreeNode;public class MyJTree extends JFrame implements javax.swing.tree.TreeModel{
  private JTree jTree1 = new JTree(this.getDefaultTreeModel());
  public static void main(String[] args) {
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch(Exception e) {
      e.printStackTrace();
    }
    MyJTree mtf=new MyJTree();
    mtf.setSize(400,300);
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = mtf.getSize();
    if (frameSize.height > screenSize.height) {
      frameSize.height = screenSize.height;
    }
    if (frameSize.width > screenSize.width) {
      frameSize.width = screenSize.width;
    }
    mtf.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);    mtf.setVisible(true);
    mtf.setTitle("MyButton") ;    mtf.show();  }  public MyJTree() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  private void jbInit() throws Exception {
    jTree1.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(MouseEvent e) {
        jTree1_mouseClicked(e);
      }
    });
    this.getContentPane().add(jTree1, BorderLayout.CENTER);
  }  void jTree1_mouseClicked(MouseEvent e) {
    if(e.getClickCount()==1){
      System.out.println("jTree1.getSelectionCount()="+jTree1.getSelectionCount());
    }else if(e.getClickCount()==2){
      System.out.println("2");    }
  }  static javax.swing.tree.TreeModel getDefaultTreeModel() {
   DefaultMutableTreeNode      root = new DefaultMutableTreeNode("桌面");
    DefaultMutableTreeNode      parent;    parent = new DefaultMutableTreeNode("我的文档");
    root.add(parent);
    parent.add(new DefaultMutableTreeNode("Adobe"));
    parent.add(new DefaultMutableTreeNode("My Pictures"));
    parent.add(new DefaultMutableTreeNode("My eBooks"));
    parent.add(new DefaultMutableTreeNode("我接收到的文件"));    parent = new DefaultMutableTreeNode("我的电脑");
    root.add(parent);
    parent.add(new DefaultMutableTreeNode("SYS(c:)"));
    parent.add(new DefaultMutableTreeNode("PRO(d:)"));
    parent.add(new DefaultMutableTreeNode("BAK(e:)"));
    parent.add(new DefaultMutableTreeNode("ENT(f:)"));    parent = new DefaultMutableTreeNode("网上邻居");
    root.add(parent);
    parent.add(new DefaultMutableTreeNode("整个网络"));
    parent.add(new DefaultMutableTreeNode("我的网站"));
    parent.add(new DefaultMutableTreeNode("临近计算机"));
      return new javax.swing.tree.DefaultTreeModel(root);
  }
  public Object getRoot(){
return null;
  }  public Object getChild(Object parent, int index){
return null;
  }  public int getChildCount(Object parent){
return 0;
  }  public boolean isLeaf(Object node){
return true;
  }  public void valueForPathChanged(javax.swing.tree.TreePath path, Object newValue){  }
  public int getIndexOfChild(Object parent, Object child){
return 0;
  }
 public void addTreeModelListener(javax.swing.event.TreeModelListener l){  } public  void   removeTreeModelListener(javax.swing.event.TreeModelListener l){}}