2012-04-04 10 views

risposta

7

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 :)

+1

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. –

+0

praticamente la stessa storia, anche se la tabella ha un supporto di editing leggermente migliore se ricordo male. –

+0

Penso che forse i numerosi meccanismi DOM-diffing di pedestal.io potrebbero essere utili anche per questo albero ... – claj

Problemi correlati