У меня есть 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 без удаления их родительского? Другими словами, могу ли я поделиться моделями/узлами между деревьями?
Внесите свой собственный [TreeModel] (http://docs.oracle.com/javase/7/docs/api/javax/swing/tree/TreeModel.html), который поддерживает фильтрацию –
Это устаревший код, и мне бы хотелось чтобы избежать этого. –
вы можете реализовать свою собственную древовидную модель в качестве обертки для старой модели, которая дополнительно обеспечивает фильтрацию. –