DefaultTreeCellRenderer
这个类看看API吧

解决方案 »

  1.   

    DefaultTreeCellRenderer的
      setLeafIcon(Icon newIcon) 
      setClosedIcon(Icon newIcon) 
      setOpenIcon(Icon newIcon)   
    方法
      

  2.   

    DefaultTreeCellRenderer很容易实现的.
    具体也忘了.你看一下那本"精通swing",书名也记不清了!呵呵电子书,那详细
    祝好运!
      

  3.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.tree.*;public class TreeDemo4
    {
        public TreeDemo4()
        {
            JFrame f = new JFrame("TreeDemo");
            Container contentPane = f.getContentPane();
            
            DefaultMutableTreeNode root = new DefaultMutableTreeNode("资源管理器");
            DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("我的公文包");
            DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("我的电脑");
            DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("收藏夹");
            DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("Readme");
            
            DefaultTreeModel treeModel = new DefaultTreeModel(root);
            treeModel.insertNodeInto(node1, root, root.getChildCount());
            treeModel.insertNodeInto(node2, root, root.getChildCount());
            treeModel.insertNodeInto(node3, root, root.getChildCount());
            treeModel.insertNodeInto(node4, root, root.getChildCount());
            
            DefaultMutableTreeNode leafnode = new 
                    DefaultMutableTreeNode("公司文件");
            treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
            leafnode = new DefaultMutableTreeNode("个人信件");
            treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
            leafnode = new DefaultMutableTreeNode("私人文件");
            treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
            
            leafnode = new DefaultMutableTreeNode("本机磁盘(C:)");
            treeModel.insertNodeInto(leafnode, node2, node2.getChildCount());
            leafnode = new DefaultMutableTreeNode("本机磁盘(D:)");
            treeModel.insertNodeInto(leafnode, node2, node2.getChildCount());
            leafnode = new DefaultMutableTreeNode("本机磁盘(E:)");
            treeModel.insertNodeInto(leafnode, node2, node2.getChildCount());
            
            DefaultMutableTreeNode node31 = new DefaultMutableTreeNode("网站列表");
            treeModel.insertNodeInto(node31, node3, node3.getChildCount());
            leafnode = new DefaultMutableTreeNode("奇摩站");
            treeModel.insertNodeInto(leafnode, node3, node3.getChildCount());
            leafnode = new DefaultMutableTreeNode("职棒消息");
            treeModel.insertNodeInto(leafnode, node3, node3.getChildCount());
            leafnode = new DefaultMutableTreeNode("网络书店");
            treeModel.insertNodeInto(leafnode, node3, node3.getChildCount());
            
            JTree tree = new JTree(treeModel);
            tree.setRowHeight(20); 
            
            DefaultTreeCellRenderer cellRenderer = (DefaultTreeCellRenderer)tree.getCellRenderer();
            
            cellRenderer.setLeafIcon(new ImageIcon(".\\icons\\leaf.gif"));
            cellRenderer.setOpenIcon(new ImageIcon(".\\icons\\open.gif"));
            cellRenderer.setClosedIcon(new ImageIcon(".\\icons\\close.gif"));        cellRenderer.setFont(new Font("宋体",Font.PLAIN,12));
            cellRenderer.setBackgroundNonSelectionColor(Color.white);
            cellRenderer.setBackgroundSelectionColor(Color.yellow);
            cellRenderer.setBorderSelectionColor(Color.red);
            cellRenderer.setTextNonSelectionColor(Color.black);
            cellRenderer.setTextSelectionColor(Color.blue);
            
            tree.setEditable(true);
            JScrollPane scrollPane = new JScrollPane();
            scrollPane.setViewportView(tree);
            
            contentPane.add(scrollPane);
            f.pack();
            f.setVisible(true);
            
            f.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            });    }    public static void main(String args[]) {
        
            new TreeDemo4();
        }
    }第61到63行设定图标的;