LINUX.ORG.RU

[java][swing] Кастомные иконки в jTree


0

1

Надо установить на каждый элемент jTree свою иконку. Нашел подходящий пример: http://www.kodejava.org/examples/566.html. Проблема в том, что элементы списка пеестали выделяться, то есть подсвечиваться о одинарного клика мыши. Как это исправить?


курить кастом рендер

anonymous ()

Портянкина почитай.

iZEN ★★★★★ ()

Если нет никаких ограничений на использование DefaultTreeCellRenderer, то можно наследовать CountryTreeCellRenderer от DefaultTreeCellRenderer. Класс CountryTreeCellRenderer переписывается в этом случае следующим образом:

    class CountryTreeCellRenderer extends DefaultTreeCellRenderer {
        public 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);
            
            Object o = ((DefaultMutableTreeNode) value).getUserObject();
            if (o instanceof Country) {
                Country country = (Country) o;
                setIcon(new ImageIcon(country.getFlagIcon()));
                setText(country.getName());
            } else {
                setIcon(null);
                setText("" + value);
            }
            
            return this;
        }

    }

dimv ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.