Java Jtree niewe root node

Pagina: 1
Acties:

  • Xoverride
  • Registratie: December 2000
  • Laatst online: 30-07 10:32

Xoverride

sabai sabai

Topicstarter
Ik ben nu de hele middag al aan het klungelen om een Jtree te krijgen met meerdere root nodes.

Het idee is dat ik een klant wil aanmaken met daaronder projecten en daaronder documenten. Ik heb zo'n beetje alle voorbeelden van Sun doorlopen, maar daar kom ik ook niets bruikbaars tegen, discussiegroepen op google leveren ook weinig op.

Een klant moet dus imho een nieuwe root node worden, maar hoe maak ik deze aan? Iemand wellicht een handig voorbeeldje om me verder te helpen?

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Volgens mij zijn er geen standaard mogelijkheden om een JTree met meerdere root-nodes te krijgen. Dit zit gewoon niet ingebakken in de standaard functionaliteiten. Als je dit toch per se wil, dan zul je in de JTree en JTreeModel source code moeten duiken en je eigen extensies moeten schrijven. Het zal wel een berg werk zijn, omdat je de hele essentie van een enkele boom onderuit haalt.
Er is wel een alternatief. Je maakt een normale boom waarvan de root altijd ge-expand is. (Je kunt deze root eventueel dmv een TreeCellRenderer zodanig tekenen dat het niet eens op een root lijkt). Vervolgens maak je een nieuwe klant aan als een nieuwe subnode van de root. Ik geef toe dat dit misschien qua boom-lijntjes niet helemaal een optimale oplossing is, maar als je niet al te veel werk wilt verzetten, is dit misschien een idee? Of je zou ook nog meerdere JTree's onderelkaar kunnen mikken en dus voor iedere klant een nieuwe JTree kunnen aanmaken. Als je dit op slimme wijze in een scrollpane gooit, kom je ook waar je wezen wilt...

[ Voor 17% gewijzigd door SWfreak op 30-06-2003 17:45 . Reden: meer info + extra alternatief ]


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
nou maak gewoon je root node invisible he - zit er standaard bij. en alles is dan een child van die ene invisible root node.

  • Xoverride
  • Registratie: December 2000
  • Laatst online: 30-07 10:32

Xoverride

sabai sabai

Topicstarter
SWfreak schreef op 30 June 2003 @ 17:43:
Volgens mij zijn er geen standaard mogelijkheden om een JTree met meerdere root-nodes te krijgen. Dit zit gewoon niet ingebakken in de standaard functionaliteiten. Als je dit toch per se wil, dan zul je in de JTree en JTreeModel source code moeten duiken en je eigen extensies moeten schrijven. Het zal wel een berg werk zijn, omdat je de hele essentie van een enkele boom onderuit haalt.
Er is wel een alternatief. Je maakt een normale boom waarvan de root altijd ge-expand is. (Je kunt deze root eventueel dmv een TreeCellRenderer zodanig tekenen dat het niet eens op een root lijkt). Vervolgens maak je een nieuwe klant aan als een nieuwe subnode van de root. Ik geef toe dat dit misschien qua boom-lijntjes niet helemaal een optimale oplossing is, maar als je niet al te veel werk wilt verzetten, is dit misschien een idee? Of je zou ook nog meerdere JTree's onderelkaar kunnen mikken en dus voor iedere klant een nieuwe JTree kunnen aanmaken. Als je dit op slimme wijze in een scrollpane gooit, kom je ook waar je wezen wilt...
Je geeft eigenlijk het antwoord dat ik al had verwacht. Ik kan denk ik het beste wat kan uithalen met klanten als subnodes.

Toch jammer dat er niet een makkelijkere optie is.

edit: en zoals hobbit_be zegt , wellicht de eerste node invisible maken. Als ik dan de childs andere icoontjes geef zou je het niet meer moeten zien..

leuk idee

[ Voor 8% gewijzigd door Xoverride op 30-06-2003 17:59 ]