呵呵。
用jb工具就可以阿。
对了,你用那些工具啊?
看一下images图标。你应该知道了吧?
就像javabean一样,我们可以随便选择自己喜欢的图标阿。
不知道你清楚了吗?
而且几乎不用代码阿快加分阿。呵呵!

解决方案 »

  1.   

    我用visual Age for java,不过我要在程序中控制呀,不能要工具生成的呀。
    你能否把用jb生成的代码给我贴一点,:)
    一定给分!!
      

  2.   

    用自制的图标和字体来显示一个树。import javax.swing.*;import javax.swing.tree.*;
    import java.awt.*;
    public class Mytree3 extends JApplet
    { public void init()
      {Container con=getContentPane();
       DefaultMutableTreeNode root=new DefaultMutableTreeNode("c:\\");//树的根节点。
       DefaultMutableTreeNode t1=new DefaultMutableTreeNode("dos");//节点。
       DefaultMutableTreeNode t2=new DefaultMutableTreeNode("java");//节点。
       DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("wps");
       DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("epg");
       DefaultMutableTreeNode t2_1=new DefaultMutableTreeNode("applet");
       DefaultMutableTreeNode t2_2=new DefaultMutableTreeNode("jre");
       root.add(t1);root.add(t2);
       t1.add(t1_1);t1.add(t1_2);
       t2.add(t2_1);t2.add(t2_2);
       JTree tree =new JTree(root); //创建根为root的树。
       DefaultTreeCellRenderer render=new  DefaultTreeCellRenderer();
       render.setLeafIcon(new ImageIcon("leaf.gif"));
       render.setBackground(Color.yellow);
       render.setClosedIcon(new ImageIcon("close.gif"));
       render.setOpenIcon(new ImageIcon("open.gif"));
       render.setTextSelectionColor(Color.red);
       render.setTextNonSelectionColor(Color.green);
       render.setFont(new Font("TimeRoman",Font.BOLD,16));
       tree.setCellRenderer(render);
       JScrollPane scrollpane=new JScrollPane(tree);
       con.add(scrollpane);
      }
    }
      

  3.   

    大体也就如 qxjavajava(射手座 =---> 你今天JAVA了吗) 所写的了
    你可以看看DefaultTreeCellRenderer的源代码,va中可以看到的.
    你说想使每个节点图标不一样,可以呀,方法太多了.
    但归根到底还是要对CellRender做文章.
      

  4.   

    看到你我感到很郁闷,在DefaultTreeCellRenderer和DefaultTreeCellEditor上想想办法吧,大家都很忙啊大哥
      

  5.   

    我给你做了个例子
    呵呵很简单
    不过吗分拿来
    import javax.swing.*;
    import javax.swing.border.Border;
    import javax.swing.border.EmptyBorder;
    import javax.swing.tree.TreeModel;
    import javax.swing.tree.DefaultTreeModel;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeCellRenderer;
    import java.awt.*;public class TreeImage extends JFrame {
        DefaultTreeModel model;
        JTree tree;    public TreeImage() {
            super("");
            setSize(300, 200);
            model = createModel();
            tree = new JTree(model);
            tree.setCellRenderer(new MyTree());
            JScrollPane jsp = new JScrollPane(tree);
            getContentPane().add(jsp, BorderLayout.CENTER);
            setVisible(true);
        }    public DefaultTreeModel createModel() {
            DefaultMutableTreeNode root = new DefaultMutableTreeNode("a");
            DefaultMutableTreeNode b = new DefaultMutableTreeNode("b");
            DefaultMutableTreeNode c = new DefaultMutableTreeNode("c");
            root.add(b);
            root.add(c);
            return new DefaultTreeModel(root);
        }    public static void main(String args[]) {
            TreeImage ti = new TreeImage();
        }
    }class MyTree extends DefaultTreeCellRenderer {
        Border border = new EmptyBorder(1, 1, 1, 1);    public MyTree() {
            setOpaque(true);
            setBorder(border);
        }    public Component getTreeCellRendererComponent(JTree tree, Object value,
                                                      boolean sel,
                                                      boolean expanded,
                                                      boolean leaf, int row,
                                                      boolean hasFocus) {        super.getTreeCellRendererComponent(tree,value,sel,expanded,leaf,row,hasFocus);        setText(value.toString());
            if (sel)
                setForeground(getTextSelectionColor());
            else
                setForeground(getTextNonSelectionColor());
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
            String str = value.toString();
            if (str == "a") {
                this.setIcon(new ImageIcon("Add.gif"));
            }
            if (str == "b") {
                this.setIcon(new ImageIcon("Copy.gif"));
            }
            if (str == "c") {
                this.setIcon(new ImageIcon("Delete.gif"));
            }
            return this;
        }
    }
      

  6.   

    其他不要跟我抢分了
    不然我要杀人啦
    HOHOHOO~!~
      

  7.   

    我有点明白了,就是覆盖Model中的getTreeCellRendererComponent方法,在这个方法中做一些文章,对吗?