Salve a tutti, ho un problemino: sto lavorando con un jtree che mi esplora delle directory e siccome l'albero è a dir poco enorme ho preferito non generare ricorsivamente tutto l'albero ma solo i figli del nodo principale e poi dinamicamente creo i sottonodi quando clicco sul nome di una directory.
Ora il mio problema è: quando dalla root clicco su una risorsa che è effettivamente una directory dinamicamente le trasformo in tale e ne genero i figli. Se poi clicco su un figlio che è a sua volta una directory rifaccio tutto il passaggio correttamente MA nel jtree mi ri ricomprime il nodo padre di tutti.
(non so se mi son spiegata, in pratica il percorso è stato fisicamente creato correttamente ma la cartellina iniziale è chiusa e col + vicino per espanderla)
ciò non sarebbe un grosso problema perchè poi aprendola i figli, i figli dei figli etc etc sono stati correttamente generati.. ma siccome arrivo a tante generazioni è un pò una scocciatura OGNI volta dover riaprire tutto...
il codice è abbastanza "standard":
codice:
this.filesTree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
percorso=percorso del nome selezionato
if (isDir(percorso)){
DefaultMutableTreeNode nodo=(DefaultMutableTreeNode)e.getPath().getLastPathComponent();
caricaAlbero(modelloAlbero, nodo,percorsoSelezionato);
modelloAlbero.reload();
}
esiste un modo per lasciare tutti i nodi espansi???
grassie!!
Inoltre visto che ci sono: quando io esploro i figli siccome non faccio ricorsione il jtree assegna a tutti l'icona del file e trasforma nell'icona della directory solo quando la espolodo..io vorrei forzargli l'icona delle directory quando so già in anticipo che di directory si tratta.. è possibile??
grassie ancora