Измените дескриптор отображаемого узла программно

#java #swing #jtree

#java #swing #jtree

Вопрос:

У меня есть это дерево, отображающее файловую структуру, у меня есть папки и файлы. Некоторые папки недоступны, и я отключаю их (они отображаются серым цветом в пользовательском интерфейсе) — я делаю это в средстве визуализации узла. Дело в том, что у этих папок все еще есть значок » » (дескриптор или как он там называется) перед значком папки. Я пытаюсь это изменить.

Есть ли способ для меня изменить дескриптор узла с » » на «-» программно? Например, когда я решаю, что узел недоступен для создания дескриптора «-» в средстве визуализации узла или что-то в этом роде?

Ответ №1:

Обратите внимание, что значок / дескриптор «минус» отображается при расширении узла (например, вы можете увидеть содержимое узла). Я предполагаю, что вы хотите, чтобы у узла не было дочерних элементов, поэтому дескриптор минус или плюс отображаться не будет.


Если вы хотите, чтобы у этих узлов не было дочерних элементов, вы можете вызвать для них setAllowsChildren(false). Или, если вы реализуете TreeNode интерфейс, который вы возвращаете true из isLeaf() .

Комментарии:

1. Круто, это работает. Я изменил поведение isLeaf(), и теперь значок больше не появляется. Спасибо