CheckBox Node рендерер - PullRequest
       2

CheckBox Node рендерер

0 голосов
/ 24 января 2012

У меня есть ситуация, когда мне нужно реализовать пользовательское средство визуализации ячеек дерева.Моя спецификация состоит в том, чтобы иметь только узел флажка и текст для родительского узла, а не значок папки, который используется в средстве визуализации ячеек дерева по умолчанию.

Я достиг этого с помощью следующего фрагмента кода.

public Component getTreeCellRendererComponent(JTree tree, Object value,
        boolean selected, boolean expanded, boolean leaf, int row,
        boolean hasFocus) {


    JLabel l = (JLabel)renderer.getTreeCellRendererComponent(
            tree, "", true, expanded, leaf, row, true);


    l.setIcon(null);
    l.setText(value.toString());
        panel.removeAll();
        panel.add(this, BorderLayout.WEST);
        panel.add(l);
        return panel;

}

Снимок экрана с результатом выглядит следующим образом.Parent Node Output

Теперь вы можете видеть серую область, заключающую в себе текст «Один».

Можете ли вы подсказать мне, как очистить серую область?

Вывод должен выглядетьто, что не имеет серого вокруг текста.

:)

1 Ответ

3 голосов
/ 24 января 2012

Для этой проблемы существует очень простой обходной путь до setBackground в TreeCellRenderer с Color, который возвращает

Color clr = UIManager.getColor("Tree.textForeground");

пример со вчерашнего дня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...