Ikonki w JTree

0

Witam, mam takie pytanie (pewnie to proste, ale jestem początkujący, a nigdzie nie mogę znaleźć odpowiedzi) mam na formie ułożony komponent JTree i chcę do niego wrzucać jakieś dane. Wszystko jest ładnie, pięknie, ale problem się pojawia, gdy chcę zmienić ikonki katalogów, tzn. chcę żeby wszystkie elementy drzewa, które są bezpośrednimi potomkami głównego korzenia miały inną ikonkę niż elementy znajdujące się głębiej. Wiem, że jest sposób na zmianę ikonek ogólnych tzn. otwarty katalog, zamknięty katalog i liść przy pomocy metody JTree.setCellRenderer(), ale to nie daje pożądanego efektu, bo zmienia ikonki na każdym poziomie zagłębienia, a ja chcę zmienić ikonki tylko na pierwszym poziomie. Pytanie: jak ten problem rozwiązać? :) Z góry dziękuję za jakiekolwiek wskazówki.

0

to sprawdzaj glebokosc sciezki, lub czy rodzic to root i tylko wtedy zmieniaj ikonke

pozdrawiam

0

no dzięki za genialną podpowiedź, ale już na to wpadłem, problem w tym, że nie da się tego tak zrobić, bo ikonki nie zmienia się dla konkretnej gałęzi, a dla całego drzewa :)

0

Interfejs TreeCellRendere definiuje metodę getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus). Jej parametry dają Ci możliwość sprawdzenia wszystkiego, co związane jest z zawartością drzewa, również sprawdzenia, w której gałęzi znajduje się rysowany obiekt. Od tego musisz uzależnić rysowanie.

0

moja genialna wypowiedz zakladala, ze zapoznales sie juz z metoda zaproponowana przed przedmowce...

pozdrawiam

0

ok :) rozumiem... dzięki za podpowiedzi :)
tak na marginesie, nie powinieneś personifikować "wypowiedzi", wypowiedź niczego nie zakłada, tylko jej autor ;)

0

niech i tak bedzie.
mam nadzieje, ze sie przyda...

1 użytkowników online, w tym zalogowanych: 0, gości: 1