PDA

View Full Version : [JAVA] Usare JTree da indice


Kurogane
01-03-2007, 14:25
Salve, sto realizzato un database per i titoli dvd e ho un problema riguardo alla rappresentazione della lista dei titoli. Ho pensato di usare un JTree stilizzato in questo modo

DATABASE
|
A
|_titolo che inizia con A
B
|_titolo che inizia con B
ect....

ora i miei problemi sono questi:
- quando inserisco o rimuovo un titolo, vorrei che il JTree venga aggiornato con il titolo inserito/rimosso. Inoltre deve essere messo in ordine alfabetico.
Il programma presenta il Jtree nel pannello sinistro e a destra un pannello dove si caricano i panelli inserisci, rimuovi ect...

- ogni qualvolta il programma si carica deve ricreare il JTree con tutti i titoli presenti nel database che è realizzato con un treeSet

- ad ogni titolo, se viene selezionato deve caricarsi la scheda con tutti i contenuti riferiti al titolo in un altro pannello, quello centro

il primo punto ho provato a realizzarlo, ma una volta inserito uno, quelli successivi non sono visualizzati...

mi basterebbero anche solo consigli utili

PGI-Bis
01-03-2007, 15:26
Rapido rapido.

Per reagire alla selezione aggiungi al TreeSelectionModel del JTree (jtree.getSelectionModel) un TreeSelectionListener e usa il metodo valueChanged per catturare le selezioni che ti interessano.

Per l'ordinamento e la creazione dell'albero dal TreeSet, considerando che l'albero ha tanto del B-Tree di profondità 3, potresti procedere così.

Intendo per Nodo un MutableTreeNode.

Definisce un nodo radice il cui metodo insert crea o accede al figlio che ha per userObject la lettera iniziale del valore da inserire.

Il figlio è un nodo il cui metodo insert inserisce o crea un TreeNode (foglia) in una lista ordinata alfabeticamente (con Collator).

A naso direi che in questo modo la produzione dell'albero si risolve nell'invocazione del metodo insert sulla radice per ogni elemento del TreeSet.

Kurogane
04-03-2007, 08:31
grazie per l'aiuto, ora lo proverò