Вызов JTree.addTreeExpansionListener
позволяет добавить TreeExpansionListener, который предоставляет событие с именем TreeExpansionEvent
, когда вызывается один из его методов. Позвонив по номеру getPath
, вы узнаете, где вы находитесь.
Кстати, если вы строите дерево на лету, вам нужно иметь + ручки для начала. Это означает, что когда вы помещаете узел в дерево, вы должны поместить под ним дочерний узел. Когда вы получите событие раскрытия дерева, посмотрите, является ли этот дочерний узел одним из этих поддельных узлов, и если это так, удалите его и замените его реальными дочерними (на основе запроса db).
Что такое поддельный узел? Просто класс, который реализует TreeNode, который каким-то образом отличается от ваших обычных TreeNodes, и вы можете легко определить, что это.