你要自己实现一个TreeCellRenderer。
并让你的Tree使用这个TreeCellRenderer,语句是
    this.setCellRenderer(new TransportTreeCellRenderer());
上面提到的TransportTreeCellRenderer是一个例子,见下面代码。下面是我以前做过的一个项目中的代码,希望对你能有帮助:import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;public class TransportTreeCellRenderer extends DefaultTreeCellRenderer{
  public TransportTreeCellRenderer() {
    super();
//    setBackgroundNonSelectionColor( getBackground() );
  }  public Component getTreeCellRendererComponent(JTree tree, Object value,
                                                boolean selected, boolean expanded,
                                                boolean leaf, int row, boolean hasFocus){
    DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
    super.getTreeCellRendererComponent(tree, value, selected,expanded, leaf, row,hasFocus);
//    System.out.println("******** "+node.getLevel());
    ImageIcon image0 = new ImageIcon(com.nordsan.multix_rcm.MainFrame.class.getResource("transport01.gif"));
    ImageIcon image2 = new ImageIcon(com.nordsan.multix_rcm.MainFrame.class.getResource("transport02.gif"));
    ImageIcon image3 = new ImageIcon(com.nordsan.multix_rcm.MainFrame.class.getResource("transport.png"));
    ImageIcon image1 = new ImageIcon(com.nordsan.multix_rcm.MainFrame.class.getResource("folder02.gif"));
    if(node.getLevel()==0){
      this.setIcon(image0);
      this.setSize(image0.getIconWidth(),image0.getIconHeight());
    }else if(node.getLevel()==2){
      this.setIcon(MainFrame.image_folder2);
      this.setSize(MainFrame.image_folder2.getIconWidth(),MainFrame.image_folder2.getIconHeight());
    }else if(node.getLevel()==3){
      this.setIcon(image2);
      this.setSize(image2.getIconWidth(),image2.getIconHeight());
    }else if(node.getLevel()==5){
      this.setIcon(image3);
      this.setSize(image3.getIconWidth(),image3.getIconHeight());
    }    else {
      this.setIcon(image1);
      this.setSize(image1.getIconWidth(),image1.getIconHeight());
    }
    return this;
  }
}