图中的两个按钮,一个“添加”是在当前选中的节点下面添加一项数据,另一个“新建子列表”是在当前选中的节点下面再次新建一个列表。
数据和列表的区别是:数据不允许任何形式的添加操作,只有列表允许。这样做就实现了数据和文件夹的混合。现在的问题是:我想给数据使用不同的图标(使用图中四个图标中最后的一个,一个文件的图标),就是是能让人一眼看出来这不是列表(列表的图标是文件夹图标)。但是
使用DefaultTreeCellRenderer更改图标的话,只允许设置3个图标,而我这里需要用到四个。请问这个怎么做?

解决方案 »

  1.   

    晕,发重了,第一张图片是现在的情况,其中“数据”的图标跟“列表”的图标都是使用的文件夹的图标,第二张是我想做的效果。该死的CSDN,还不让编辑。
      

  2.   

    DefaultTreeCellRenderer不让你设置你就重载它的
    getTreeCellRendererComponent(JTree tree, Object value,   
          boolean isSelected, boolean expanded, boolean leaf, int row,   
          boolean hasFocus)方法
    此类继承自JLabel 根据这些参数应该可以判断你的节点状态进行setimage操作就OK了
      

  3.   

    刚才又试了几次,终于明白getTreeCellRendererComponent()如何使用了,分给你了,我还有另一个帖子也是说这个的,发在J2SE基础区,你去回一下,两个帖子的分都给你了。