powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по JTree и подгрузкой данных из базы
7 сообщений из 7, страница 1 из 1
Вопрос по JTree и подгрузкой данных из базы
    #37667479
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста, у меня есть дерево, данные в узлах не грузятся автоматически, они подгружаются тогда, когда пользователь нажимает на расскрытие узла. Т.е. перед каждым открытием узла я удаляю содержимое ноды, и после подгружаю значения. Но вот проблема, например пользователь открывал узел и дошел до какого-то глубокого уровня вложенности, потом закрыл родителя, открыл снова и ему опять приходится открывать заново всю эту цепочку. Как сделать так, чтобы при повторном открытии ноды, пользователю открывался весь тот путь, которые был уже открыт. Надеюсь я понятно объяснила :)
...
Рейтинг: 0 / 0
Вопрос по JTree и подгрузкой данных из базы
    #37667503
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем удалять ноды? Посмотрите исходники JTree методы
TreeModelHandler.treeStructureChanged
removeDescendantToggledPaths
Они как раз удаляют информацию об открытых путях, когда удаляются ноды. Возможно нужно туда вписать желаемую логику, чтобы пути оставались.
Либо ещё как-то самостоятельно контролировать поле JTree.expandedState
...
Рейтинг: 0 / 0
Вопрос по JTree и подгрузкой данных из базы
    #37667583
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczА зачем удалять ноды? Посмотрите исходники JTree методы
TreeModelHandler.treeStructureChanged
removeDescendantToggledPaths
Они как раз удаляют информацию об открытых путях, когда удаляются ноды. Возможно нужно туда вписать желаемую логику, чтобы пути оставались.
Либо ещё как-то самостоятельно контролировать поле JTree.expandedState
если не удалять, то при очередном открытии в выделенный узел добавляются дублирующиеся записи, и так происходит каждый раз при очередном закрытии и открытии узла
...
Рейтинг: 0 / 0
Вопрос по JTree и подгрузкой данных из базы
    #37667589
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JulTесли не удалять, то при очередном открытии в выделенный узел добавляются дублирующиеся записи, и так происходит каждый раз при очередном закрытии и открытии узла
А не добавлять узел, если он уже есть? Не вариант?
...
Рейтинг: 0 / 0
Вопрос по JTree и подгрузкой данных из базы
    #37667600
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczJulTесли не удалять, то при очередном открытии в выделенный узел добавляются дублирующиеся записи, и так происходит каждый раз при очередном закрытии и открытии узла
А не добавлять узел, если он уже есть? Не вариант?
вариант конечно, но как это реализовать?
...
Рейтинг: 0 / 0
Вопрос по JTree и подгрузкой данных из базы
    #37668040
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JulT , видел как-то реализацию подобной логики. Там расширяли DefaultMutableTreeNode и добавляли флаг, а-ля childrenLoaded. Далее логика проста: на дерево вешался слушатель TreeExpansionListener . При обработке события раскрытия ноды по данному флагу определялось, были ли ранее загружены дочерние ноды. Если нет, они подгружались и устанавливался флаг, в противном случае происходило просто раскрытие ноды. Насколько мне помнится, селекшн-стейт дочерних нод сохранялся. На крайний случай, в гугле можно найти примеры сохранения этого состояния.
Единственный минус такого подхода - необходимо предусмотреть reload дочерних элементов для нод, у которых данный флаг уже был установлен.
...
Рейтинг: 0 / 0
Вопрос по JTree и подгрузкой данных из базы
    #37669214
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все сделала, спасибо всем, кто откликнулся
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по JTree и подгрузкой данных из базы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]