您可以更改
JTree节点图标的默认UI值,而无需任何自定义渲染器:
URL resource = logaff.class.getResource(IMAGE);Icon icon = new ImageIcon(resource);UIManager.put("Tree.closedIcon", icon);UIManager.put("Tree.openIcon", icon);UIManager.put("Tree.leafIcon", icon);或使用类似next的方法:
@Overridepublic Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent(tree, value, selected,expanded, leaf, row, hasFocus); DefaultMutableTreeNode nodo = (DefaultMutableTreeNode) value; if (tree.getModel().getRoot().equals(nodo)) { setIcon(root); } else if (nodo.getChildCount() > 0) { setIcon(parent); } else { setIcon(leaf); } return this;}


