carosene
25-08-2007, 15:52
Ho creato un modello di una JTable estendendo AbstractTableModel. Nel modello è presente una LinkedList, che contiene gli elementi da visualizzare nella JTable.
Tale modello dispone dei metodi add() e remove() per aggiungere ed eliminare elementi dal modello.
Il problema si presenta nel momento in cui, ad aggiungere o ad eliminare un elemento della LinkedList, sia un thread differente dal thread che gestisce la gui. Infatti si verifica che in alcuni casi il thread della gui richiami getValueAt() di abstractTableModel, mentre un altro thread elimina un elemento dalla LinkedList, sollevando un'eccezione.
Come è possibile risolvere questo problema?
Tale modello dispone dei metodi add() e remove() per aggiungere ed eliminare elementi dal modello.
Il problema si presenta nel momento in cui, ad aggiungere o ad eliminare un elemento della LinkedList, sia un thread differente dal thread che gestisce la gui. Infatti si verifica che in alcuni casi il thread della gui richiami getValueAt() di abstractTableModel, mentre un altro thread elimina un elemento dalla LinkedList, sollevando un'eccezione.
Come è possibile risolvere questo problema?