Назначение разных значков различным узлам в JTree - PullRequest
2 голосов
/ 27 августа 2011

Можно ли назначить разные значки различным узлам в JTree, используя DefaultTreeCellRenderer.setOpenIcon()?Спасибо.

1 Ответ

5 голосов
/ 27 августа 2011

Один и тот же экземпляр средства визуализации ячеек используется для отображения всех ячеек дерева.Значок открытия - это маленький символ + или треугольный символ слева от каждого узла дерева, который позволяет развернуть его (т.е. увидеть его дочерние узлы).Я сомневаюсь, что это значок, который вы хотите изменить.Было бы довольно странно не использовать один и тот же для всех узлов.

Если вы хотите отобразить пользовательский значок для определенного узла, создайте подкласс DefaultTreeCellRenderer, переопределив getTreeCellRendererComponent*Метод 1005 *, определите, какой значок отображать на основе значения, переданного методу, и вызовите setIcon.

См. http://download.oracle.com/javase/tutorial/uiswing/components/tree.html#display для аналогичного примера (который настраивал всплывающую подсказку, а не значок, но идея та же).

...