![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 1 Всего: 34 |
Объясните, пожалуйста, что за внутренний механизм работы у DefaultMutableTreeNode.
Создаю DefaultMutableTreeNode и присоединяю его к двум разным, видимым в разных частях окна, деревьям JTree. Все прекрасно работает. Но не могу понять - почему работает? Ведь если спросить у самого DefaultMutableTreeNode о его позиции в иерархической структуре дерева методом .getPath(), то не надо указывать какое дерево. Т.е., по логике вещей, DefaultMutableTreeNode может относиться только к одному дереву. То же самое и с методом .getParent(), который есть даже и у TreeNode. Спасибо. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| ecologist |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: нет Всего: 9 |
Ну по идее, если не обращаться непосредственно к самой ноде, то оба парента в обеих деревьях его регистрируют и могут с ним работать. Список чайлдов у них свой собственный. И что там ссылка на один и тот же объект - а какая разница.
Но вот если начать работать непосредственно с самой нодой - например удалить из одного дерева, то она поетряет парента. А значит вызов getParent может вернуть null. |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 1 Всего: 34 |
Эксперименты показали, что это, мягко говоря, не совсем так.
А именно - присоединение ноды к двум деревьям позволяет делать с ней всякие хорошие операции, но при попытке редактирования деревьев - например при попытке убрать эту ноду из одного дерева - начинаются глюки. В общем - простой и удобный способ писать глючные программы похоже наконец найден. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |