|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Nov 2009
Messaggi: 13
|
[JAVA] Jtree o implementazione classica dell'albero?
Ciao forum! Volevo sapere se è possibile,una volta costruito un albero attraverso il Jtree, effettuare su di esso le "classiche" operazioni che si possono effettuare sugli alberi (ricerca di un elemento, aggiunta di nodi figli etc.) oppure se un Jtree è solo un modo per rappresentare graficamente un albero senza dare la possibilità di "lavorarci sopra". Per essere più preciso : ho un file .txt contenente delle queries SQL(corrette) e devo costruire un albero sintattico contenente TUTTE queste queries. Allego un'immagine che, credo, possa chiarire un po' ciò che devo fare.
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
dall'immagine non si capisce nulla...
JTree é un componente grafico di Swing, si usa per creare GUI, non per gestire strutture algoritmiche. per creare un albero non ti serve neanche di usare delle Collection Classes, é sufficiente che metti nella classe che rappresenta un nodo un riferimento al primo nodo figlio e uno al prossimo nodo "fratello". |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Le modifiche ad un JTree passano per il suo modello. Una cosa di questo genere:
DefaultMutableTreeNode root = new DefaultMutableTreeNode("radice"); DefaultTreeModel model = new DefaultTreeModel(root); JTree tree = new JTree(model); Con root, model e tree puoi fare tutto quel che vuoi. Per inserimenti e rimozioni, usi "model": model.insertNodeInto(genitore, figlio, posizioneDelFiglioNelGenitore); model.removeNodeFromParent(figlioDaRimuovere); Per lo scorrimento usi root: Codice:
Enumeration<?> branch = root.depthFirstEnumeration(); while(branch.hasMoreElements()) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) branch.nextElement(); }
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Nov 2009
Messaggi: 13
|
Anche se con qualche giorno di ritardo, vi ringrazio per le risposte
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:57.