建议从DefaultTreeCellRenderer继承自己的Renderer覆盖getTreeCellRendererComponent方法!这是我的一个列子      public MyRenderer() {
        greenIcon = new ImageIcon(getClass().getResource("/resource/green.jpg"));
        redIcon = new ImageIcon(getClass().getResource("/resource/red.jpg"));
        hostIcon = new ImageIcon(getClass().getResource("/resource/Host16.gif"));
      }      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);
          DefaultMutableTreeNode node=(DefaultMutableTreeNode)value;
          Object someThing=node.getUserObject();
          if(someThing instanceof ServiceHost){
            setOpenIcon(hostIcon);
            setClosedIcon(hostIcon);
          }
          else if(someThing instanceof ServiceConfig){
            if (leaf && isRunning(someThing).compareTo("NO")==0) {
              setIcon(redIcon);
            }
            else if(leaf && isRunning(someThing).compareTo("YES")==0){
              setIcon(greenIcon);
            }
            else{}
          }
          else{
          }
          return this;
        }        protected String isRunning(Object value) {
          ServiceConfig nodeService=(ServiceConfig)value;
          return nodeService.isRunning();
        }
ServiceHost 和ServiceConfig
是我节点上的类