PulpFiction Geschrieben 16. November 2006 Geschrieben 16. November 2006 Hallo, Jungs & Mädels ... ich hab jetz mal ne`harte nuss ... hab des schon 2 leuten aus meiner klasse gezeigt & einem aus meiner firma ... und bis jetz sind wir alle so schlau wie vorher: also ich hab nen jtree, mit eigenen treenodes und die ham eigene userobjects. in den userobjects speicher ich den namen und das object das dazugehört. die nodes repräsentieren ne ordnerstruktur, also entweder ne datei oder nen ordner. die problematik war jetz, dass das komplette laden von dem baum (isn zugriff auf ein svn; sowas wie cvs) ******* lange gedauert hat, also war der wunsch da, dass die einzelnen unterordner erst auf anklicken nachgeladen werdn. jetz hat der benutzer aber keine möglichkeit zwischen nodes und leafes zu unterscheiden, weil ja für den jtree ein node ohne children automatisch n`leaf is. also hab ich mir nen treecellrenderer gebaut, der mir, jenachdem obs n`ordner oder ne datei is, das imageicon so setzt, dasses fürn benutzer ausschaut wie n`node: if(((MyTreeUserObject)node.getUserObject()).getEntry().getKind() == SVNNodeKind.DIR){ System.out.println(node.toString() + " is of type [ DIR ]"); this.setLeafIcon(getDefaultClosedIcon()); } else if(((MyTreeUserObject)node.getUserObject()).getEntry().getKind() == SVNNodeKind.FILE){ System.out.println(node.toString() + " is of type [ FILE ]"); this.setLeafIcon(getDefaultLeafIcon()); } jetz isses nur so, dass der mir die icons falsch setzt. also der kennt zwar einwandfrei den typ von dem knoten (liest ihn einwandfrei aus), aber er setzt trotzdem (manchmal) die icons falsch wenn man im baum rumklickt (und nacheinander zwei unterschiedliche nodekinds anklickt)... was meine vermutung is, dass der NACH dem eigentlichen knoten noch nen anderen knoten verarbeitet, und den, wenn von nem anderen typ, dann im eigentlichen knoten setzt. Zitieren
PulpFiction Geschrieben 17. November 2006 Autor Geschrieben 17. November 2006 hm .. anscheinend kann mit der beschreibung so keiner was anfangen ... hab jetz einfach mal ein beispielprojekt angehängt, das das problem darstellt .. einfach die main() in JTree_CellRenderProblemTest.java ausführen & im baum rumklicken .. hab gestern da mal reindebugged und komischerweise läufter durch den renderer 4x durch .. kA wieso... ich werd einfach net schlau draus. vllt. wird ja jemand von euch schlau draus ... mfg, Sebastian btw.: alternativlösungen für das problem das ich lösen will (SVN), sind net hilfreich, das is mein abschlussprojekt & meine firma will was eigenes ;(testing.zip Zitieren
PulpFiction Geschrieben 20. November 2006 Autor Geschrieben 20. November 2006 - hat sich erledigt ... für alle die das forum grad nach der lösung durchsuchen: es lag am superkonstruktor .. der baut das ImageIcon schon in der elternklasse auf ... einfach super() erst direkt vorm return aufrufen --- kann geschlossen werden Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.