How to remove folder symbol which comes in front of each node from JTree in java

后端 未结 3 669
抹茶落季
抹茶落季 2020-12-11 07:43

I am trying to remove the folder symbol from node of JTree which comes by default. How can I accomplish this?

3条回答
  •  借酒劲吻你
    2020-12-11 08:15

    DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) jTree.getCellRenderer();
        renderer.setLeafIcon(null);
        renderer.setClosedIcon(null);
        renderer.setOpenIcon(null);
    

    The jtree uses CellRender, for example DefaultTreeCellRenderer, and you can dasable or change default nodes icon. Also, you can create custom cellRender and defined more dificult logic for you icon scheme.

    tree.setCellRenderer(new DefaultTreeCellRenderer() {
                    @Override
                    public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
                        JLabel component = (JLabel) super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
                        ImageIcon iconPath = ((WizardNode) value).getIcon();
                        component.setIcon(iconPath);
                        return this;
                    }
                });
    

提交回复
热议问题