Есть ли способ иметь значки расширения для нескольких корней в JTree?

У меня есть JTree с несколькими «корнями» (конечно, на самом деле у меня есть невидимый реальный корень с несколькими дочерними элементами).

Узлы расширяются и сворачиваются по двойному щелчку, но нет никаких визуальных указаний на то, что вы можете это сделать, так как нет значка расширения.

Это усугубляется тем фактом, что дерево по умолчанию свернуто, но расширение «корней» на самом деле не помогает, так как у каждого из них много дочерних элементов, и оно будет выглядеть загроможденным.

Есть ли способ отобразить значки расширения, без отображения реального (и совершенно бесполезного) корня?

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


person Draemon    schedule 12.01.2009    source источник


Ответы (1)


Будет ли tree.setShowsRootHandles(true) быть хорошим способом отображения этих значков расширения?

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

  • Во-первых, вы можете использовать tree.setRootVisible(true), чтобы показать корневой узел, или tree.setRootVisible(false), чтобы скрыть его.
  • Во-вторых, вы можете использовать tree.setShowsRootHandles(true), чтобы запросить, чтобы узлы верхнего уровня дерева — корневой узел (если он виден) или его дочерние узлы (если нет) — имели дескрипторы, позволяющие разворачивать или сворачивать их.

Проверьте также свой внешний вид чтобы быть уверенным, что визуализатор делает с вашим деревом.

person VonC    schedule 12.01.2009
comment
Отлично, спасибо! Я полностью упустил это из документов - вероятно, потому, что на самом деле они вообще не являются корневыми дескрипторами. - person Draemon; 12.01.2009