2015-06-05 2 views
0

У меня есть Jtree С двумя детьми в верхней части. Скажите A и B. В настоящее время код предназначен для отображения на той же панели, что и часть общего JTree. Что я хочу сделать, это отдельные A и Binto две разные панели.Статическая фильтрация совместного использования JTree/multiple Jtrees (соответствующие части) модели

Теперь у Jtree есть сложная система обновления, и есть способы, когда элементы A автоматически входят в B, наоборот и т. Д., И я действительно не хочу иметь два отдельных JTrees. Я знаю, что я могу получить доступ к соответствующим данным с помощью:

myTree.getModel().getChild(myTree.getModel().getRoot(),i) 

но есть способ отображения A и подзаконные детей в одной панели и B в другой?

, если нет, я думаю, мне придется прибегнуть к созданию myTree_A и myTree_B, который будет отслеживать myTree. Каков самый эффективный и эффективный способ сделать это?

Update:

Так что я выбрал для создания двух отдельных деревьев. Я, однако есть небольшая проблема, когда я root_A.add (A) 'и 'root_B.add (B)' в моих двух новых деревьев, где root_A и root_B являются myTreeA и myTreeB «s соответственно, A и B отделяются от myTree, и я больше не могу зацепить элементы myTreeA, B в оригинале myTree и вызвать соответствующие процедуры. Любой способ сообщить myTreeA и myTreeB для отслеживания A и B без удаления их родительского? Другими словами, могу ли я поделиться моделями/узлами между деревьями?

+0

Внесите свой собственный [TreeModel] (http://docs.oracle.com/javase/7/docs/api/javax/swing/tree/TreeModel.html), который поддерживает фильтрацию –

+0

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

+0

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

ответ

0

Самый простой способ - создать два отдельных дерева, чтобы модели, прикрепленные к A и B, легко обновлялись и отражались легко.

+0

см. Обновленный вопрос. –

+0

Почему вы хотите сделать myTree родителем TreeA и TreeB вместо Root_A и Root_B? Кроме того, если вы хотите поделиться узлами TreeA/Tree B с их корневыми деревьями и MyTree, вы можете перейти по ссылке: http://stackoverflow.com/questions/3849530/sharing-children-among-parents-in- a-jtree –

+0

Я не упоминал отношения родитель-ребенок. Я хочу, чтобы они делились той же самой моделью, что и родительское дерево. Это не совсем то же самое, не так ли? –

Смежные вопросы