Purtroppo, il sostegno di alberi di movimento alternato è piuttosto scadente. Jtree (ed è il cugino just-in-brutta JTable) è estremamente complicata in modo da venire con un involucro pulito che copre un sacco di casi d'uso si è dimostrato difficile.
In ogni caso, se si desidera un modello di albero modificabile, è necessario creare la propria implementazione di TreeModel o il build DefaultTreeModel, tutorial here. La chiave con DefaultTreeModel
è quello di rendere sempre modifiche (aggiunta/rimozione di bambini, ecc) attraverso l'oggetto DefaultTreeModel
piuttosto che i nodi direttamente. Questo sì che eventi vengono generati in modo corretto e l'albero è riverniciata, ecc Se vi trovate a chiamare manualmente updateUI
o qualcosa di simile sul legno della croce, che stai facendo qualcosa di sbagliato.
Spero che questo aiuti. Mi dispiace per l'inconveniente. Mi fa star male pensare a qualcuno che usa l'altalena dovendo fare un'interop :)
fonte
2012-04-05 12:59:45
Stavo per fare una domanda molto simile a JTable :) L'altalena è stata molto più divertente di Swing finora, quindi non ho lamentele nemmeno se questo mi provoca un po 'di dolore. –
praticamente la stessa storia, anche se la tabella ha un supporto di editing leggermente migliore se ricordo male. –
Penso che forse i numerosi meccanismi DOM-diffing di pedestal.io potrebbero essere utili anche per questo albero ... – claj