QQ群里的树结构怎么用JTree来实现? 主要就是怎么自定义各子节点的图标? 并且各子节点的图标都不一样.

解决方案 »

  1.   

    继承JLabel,并实现ListCellRenderer接口
    在该函数中根据情况调用setIcon即可。
      

  2.   

    你认为是tree吗?我倒认为是List,当然,比较特殊一点。
      

  3.   

    考虑下用javax.swing.tree.DefaultTreeCellRenderer类,用该类的setXXX()方法可以很方便地定制一棵树的显示,比如将节点的显示图标指定为*.gif.DefaultTreeCellRenderer的一些基本方法:
    DefaultTreeCellRenderer render=new DefaultTreeCellRenderer();//构造函数
    setLeafIcon(Icon newicon);
    setBackground(Color newcolor);
    setClosedIcon(Icon newicon);
    setOpenIcon(Icon newicon);
    setTextNonSelectionColor(Color newColor);
    setTextSelectionColor(Color newColor);
    setFont(Font font);具体参见docs