Реализация Java JTree

Я буду краток; Я хотел бы изменить цвет JTree с синего цвета Metal LF по умолчанию на серый. Я уже смотрел на ExtendedJTreeCellRenderer безрезультатно. Можно ли это сделать с помощью UIManager, если нет, можно ли это сделать без необходимости настраивать значок дерева? У меня 10+ лет с Java, спасибо.

Снимок экрана

        public static class ExtendedJTreeCellRenderer extends DefaultTreeCellRenderer
        {
            @Override
            public Component getTreeCellRendererComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row, boolean hasFocus)
            {
                JComponent c = (JComponent) super.getTreeCellRendererComponent(tree, value, isSelected, expanded, leaf, row, hasFocus);

                Graphics graphics = c.getGraphics();

                if(graphics!=null) graphics.setColor(Color.GRAY);

                c.setForeground(new Color(140,140,140));

                c.setBackground(new Color(8,8,8));

                c.setFont(new Font("Georgia", Font.PLAIN, 12));

                c.setOpaque(true);

                //

                this.setClosedIcon(new ImageIcon("images\\folder001.png"));

                //this.setOpenIcon(new ImageIcon(""));

                //this.setLeafIcon(new ImageIcon(""));

                //

                return c;
            }
        }

person M. Rupplin    schedule 09.05.2020    source источник
comment
Что-то вроде это, вероятно, будет лучшей отправной точкой   -  person MadProgrammer    schedule 09.05.2020
comment
О, и это -› Graphics graphics = c.getGraphics(); очень плохая идея, не делайте этого   -  person MadProgrammer    schedule 09.05.2020
comment
Сами значки Java Closed, Open, Leaf имеют синий цвет; они нам нужны серые. Можно ли это сделать с помощью UIManager или другого? Смотрите скриншот, пожалуйста. Я посмотрел ссылку, которую вы дали.   -  person M. Rupplin    schedule 09.05.2020
comment
Вы не можете изменить цвет значков, но можете заменить их своими собственными - например - это повлияет на значки по умолчанию, так что будьте осторожны   -  person MadProgrammer    schedule 09.05.2020
comment
См. Как сделать ImageIcon серым в Swing; больше здесь.   -  person trashgod    schedule 09.05.2020
comment
Вы пробовали: UIManager.getLookAndFeelDefaults().put("Tree.background", Color.GRAY); ?   -  person Abra    schedule 09.05.2020
comment
ColorConvertOp оставляет фон изображения (UIManager.getIcon()) белым, а GrayFilter — нет. Спасибо, не плохие идеи. Абра, у тебя получилось?   -  person M. Rupplin    schedule 11.05.2020