![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: нет Всего: 77 |
Суть такая:
есть дерево и есть модель для него. Из файла тяну древовидную структуру. Методы доступа к ней реализованы в моей TreeModel. Рисую СеллРендерером в каждом ноде панельку с несколькими лейблами, извлечёнными из объекта моей древесины(TreeModel). В общем всё неплохо... Но! Пытаюсь удалять.... Поскольку ноды у меня - это ссылки на мои специфические объекты - то их и надо у далять из этой структуры. В каждом объекте есть эррейлист ссылок на сыновей из которого удаляю нужного сына. Всё хорошо, всё отлично.... но элемент отображается по прежнему. ![]() В листе его нет ( проверял ), каунт листа уменьшился на единицу.... И всё-таки, фугас ему в глаз, он отображается!!!! но ссылочка есть.... Потому как вытягиваются из него данные рендерером и на станд. вывод тоже..... Мне кажется, что для него создаётся нод, который на него указывает и который надо удалить.... Но как??? Пытаясь получить селекшн - получаю свой элемент но никак не ноду. Рэпейнты и ревалидейты пробовал... КАК ЕГО УБРАТЬ??? -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Может, в лоб - создание копии дерева без этого нода и его отображение?
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Хорошо бы конечно код посмотреть. И надо бы в FAQ заглянуть. Пример работы с JTree
|
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: нет Всего: 77 |
Я туда и заглядывал ![]() Там всё о TreeNode -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
Andyb |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 7.6.2004 Где: Lille, France Репутация: нет Всего: 5 |
Попробуй treeModel.reload(); после удаления, а потом перерисовать родительский узел
Это сообщение отредактировал(а) Andyb - 12.7.2005, 12:33 --------------------
Большинство наших ошибок происходит из-за невнимательности. |
|||
|
||||
chief39 |
|
||||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: нет Всего: 77 |
Это из фака:
В последней строчке у меня возвращается не DefaultMutableTreeNode а Question (мой классик. Всякая информация о себе же и там же списочек на другие ноды) Только что проверил - если вытягивать элемент который не удалился через переписаную мной функцию public Object getChild(Object parent, int index) для TreeModel - там нулл как и должно быть. с count этих подНодов тоже всё в порядке. То есть модель работает корректно.... (когда я её потом сохраняю в файл - там всё как и должно быть) Но из самого JTree судя по всему остаётся ссылка на этот объект Question!!! То есть подтягивает данные из тримодела а потом работает само... по своим ссылочкам, или нет? ![]() Добавлено @ 12:35
можно поподробнее? Меня тоже потянуло поискать чёт на "re" но там такого нет ![]() не находит.... Перерисовываю всё дерево (вернее repaint, revalidate) что за релоад и с чем его едят??? -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
||||
|
|||||
Andyb |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 7.6.2004 Где: Lille, France Репутация: нет Всего: 5 |
Релоад модели дерева
--------------------
Большинство наших ошибок происходит из-за невнимательности. |
||||
|
|||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: нет Всего: 77 |
Я имплементил свою от TreeModel
Там такого нет... унаследовал от DefaultTreeModel - хочет конструктор с рутом. В рут хочет нод а не мой класс. Тупик. Как это обойти? Сегодня почти не спал и туго соображаю.... просто с TreeModel это можно сделать (что-то похожее) ? -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
DarkDS |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 4 Всего: 16 |
TreeModel у тебя от Дефолт наследованна или просто реализация своя?
Если от дефолт, то поможет вызов метода: fireTreeStructureChanged Добавлено @ 13:00 Увидел. Поздно. Сейчас пример кину своей имплементации fireTreeStructureChanged Добавлено @ 13:01 Лишее нужно удалить, но идея я думаю понятна ![]()
Добавлено @ 13:03 ЗЫ. Дерево тут не обновляется. Обновление происходит из наследника вызовом метода fireTreeStructureChanged. По идее единственное что нужно перенести - addTreeModelListener, removeTreeModelListener, fireTreeStructureChanged |
|||
|
||||
Andyb |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 7.6.2004 Где: Lille, France Репутация: нет Всего: 5 |
можно сделать так:
Это сообщение отредактировал(а) Andyb - 12.7.2005, 13:39 --------------------
Большинство наших ошибок происходит из-за невнимательности. |
||||
|
|||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: нет Всего: 77 |
![]() Я чуть не опупел..... Вчера до 11 сидел и сегодня с 7 на работе... аж обидно.... ![]() оказывается.....
Всё работает без нодов и дефолт деревяной модели просто имплементировал деревянную модель и переписал чтоб она тягала данные из моей деревянной ![]() Спасибо всем за советы. Покопался ![]() -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |