Java Реализация JTree - PullRequest
       68

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

0 голосов
/ 09 мая 2020

Буду краток; Я хотел бы изменить цвет 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;
            }
        }
...