Salve a tutti del forum,
Ho un problema assurdo su due oggetti JList.
In particolare: Ho un Frame->Panel dove ho inserito due JScrollPane e ad ognuno di essi ho inserito un'oggetto JList<String> a cui è associato un ListModel (la dichiarazione degli oggetti sono definiti al livello di classe come private).
Di seguito una parte del metodo initialize()
Oggetti vari del frame panel
......
......
listModelGUI = new DefaultListModel<String>();
scrollPane_ToProcessing = new JScrollPane();
scrollPane_ToProcessing.setBounds(230, 297, 329, 160);
frmPanel.add(scrollPane_ToProcessing);
list_ToProcessing = new JList<String>(listModelGUI);
scrollPane_ToProcessing.setViewportView(list_ToProcessing);
listModelPreadvising = new DefaultListModel<String>();
scrollPane_ToPreadvising = new JScrollPane();
scrollPane_ToPreadvising.setBounds(569, 297, 320, 160);
frmPanel.add(scrollPane_ToPreadvising);
list_ToPreadvising = new JList<String>(listModelPreadvising);
scrollPane_ToPreadvising.setViewportView(list_ToPreadvising);
.......
.......
Oggetti vari del frame/panel
Successivamente, nel costruttore della classe, viene richiamato prima l'inizializzazione di cui sopra, poi viene lanciato un thread che ha lo scopo di effettuare una elaborazione di dati e aggiornare le listModelPreadvising e listModelGUI valorizzandoli. Il Thread serve per sganciare il frame per non tenerlo bloccato durante l'elaborazione anche se tutti i controlli sono vuoti.
Il problema è che in runtime, i valori nei ListModel sono presenti.
Ma la visualizzazione a video delle JList:
- a volte ci sono i dati
- a volte no
- a volte solo una o entrambe le List hanno solo una parte dei dati rispetto ai contenuti della ListModel.
- a volte solo la JList di sinistra visualizza i dati e a destra no.
- a volte solo la JList di destra visualizza i dati e quella di sinistra no
Praticamente ho tutte le combinazioni e in modo aleatorio.
Il fatto è che eseguo il thread per liberare la GUI dal processo di elaborazione dati.
Gli altri controlli (TextBox e etc.) funzionano perfettamente, le ComboBox funzionano perfettamente ma le JList danno i numeri.
In VB6, anni fa, esisteva il me.refresh, in Java con swing?
Esiste una soluzione?
Grazie a tutti per aver letto ancor di più se mi rispondete.