On Tue, 11 Feb 2003 08:21:31 +0100, Lars Dam
<larsdam___YeahNoUnderscores_____@______post2.tele.dk> wrote:
<snip>
>> Men hvad gør jeg så for at få lavet en (visuel) opdatering af træet??
>
>Umiddelbart vil jeg gætte på at din data klasse (modellen) skal sende en update event når data ændres, så vieweren kan opdatere grafikken.
>
>Hvis du arver fra DefaultTreeModel, vil flg. måske virke:
>
>fireTreeNodeChanged(...);
>
Hej,
Jeg har nu arbejdet lidt på sagen og har udnyttet både ovenstående -
og hintet fra Ulrik omkring brug af reload(...). Tak for tippene.
Nu ligger det sådan at både fireTreeNodeChanged(...) og reload(...) er
metoder på DefaultTreeModel - og jeg har valgt at implementere min
egen model (implementerer TreeModel interfacet som det nu skal). Det
gav mig så lidt arbejde - og forhåbentlig meget lærdom.
Implementering blev (bare sådan hvis andre kunne få glæde af det):
1) Inkluder fireTreeNodeChanged(...) i model klassen. Den udsender
TreeNodesChanged events til listeners (hvoraf en åbentbart automatisk
er tree viewet - derfor success med visuel opdatering).
2) Implementer reload() i model klassen. Den gør følgende (kaldt med
en parameter = den node der er ændret:
a) Find path til parent og andet info, som skal bruges til
TreeNodeChanged eventet.
b) Kalder fireTreeNodeChanged(...)
Ideen er så at man der hvor man føler et pludseligt behov for
opdatering, kalder reload(...)
Tog lidt tid - men nu virker det. Tak for hjælpen
mvh
Karl Peder