JTree, представляющий граф

Я использую утилиту JTree Swing для представления дерева, которое на самом деле имеет петли. У меня есть единственный узел с именем root, но некоторые из дочерних элементов в конечном итоге будут указывать на другие части дерева, таким образом, делая его не настоящим деревом, а скорее графом.

Мое Java-приложение продолжает зависать (никаких исключений, переполнения стека и т. д.), когда я пытаюсь использовать маленькие серые стрелки для расширения и сжатия частей графика.

Мой вопрос: требует ли JTree, чтобы ни один из узлов DefaulMutableTreeNodes не содержал цикла?

Если да, то как мы можем представить что-то подобное с помощью утилиты JTree. Например, когда вы отлаживаете приложение, скажем, в eclipse, вы можете бесконечно использовать дерево переменных в режиме отладки, чтобы продолжать просматривать зацикленный объект. Это поведение, которое я ищу.

Какие-либо предложения?


person Matthew    schedule 19.06.2015    source источник


Ответы (1)


Я не думаю, что это проблема, что узлы в цикле Jtree сами по себе. По-видимому, у вас проблема только с кнопкой «раскрыть все», что имеет смысл, потому что метод «расширить все» будет рекурсивно проходить через узлы, пока у них не останется сыновей.

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

person Eric Leibenguth    schedule 19.06.2015