Quote Originariamente inviata da andbin Visualizza il messaggio
Per aggiornare un JList innanzitutto è necessario che la implementazione del ListModel sia "mutabile", ovvero offra metodi es. add, insert, ecc.... che permettano di cambiarne il contenuto. E questi metodi devono correttamente aggiornare la struttura dati interna al model e poi notificare la "view" (in generale qualunque ListDataListener registrato) delle modifiche. Tutto qui.

Si può anche aggiornare un JList andando a sostituire il ListModel con un altro ma è decisamente più "radicale".

P.S.
codice:
        menuList.setModel(new javax.swing.AbstractListModel() {
            public int getSize() { return menuVoices.size(); }
            public Object getElementAt(int i) { return menuVoices.get(i); }
        });

Questa implementazione di ListModel non è "mutabile" nel senso che ho detto poco fa. Se anche tenessi il riferimento menuVoices e facessi degli add, non avresti il risultato voluto .... il list model non "sa" che hai aggiunto dati dall'esterno.
Il problema è che questo codice me l'ha generato NetBeans e non me lo fa modificare se non parzialmente :-/
Ma dovrei usare quindi DefaultListModel? E poi?
Grazie.