Qui ci sono alcune questioni da affrontare.
Innanzitutto hai usato un java.util.Timer e fin qui nulla di strano. Il Timer però esegue il task nel contesto del "suo" thread (quello di gestione del timer). Non nel contesto del EDT (event dispatch thread), quello della interfaccia utente.
La regola basilare in Swing è che salvo casi particolari/documentati, l'accesso a qualunque componente della interfaccia utente va fatto solo nel contesto del EDT.
Mentre tu nel contesto del thread del timer (non il EDT) ad un certo punto invochi jTable1.setModel(model);
Questo è sbagliato. Come ho detto, qualunque accesso (salvo casi particolari) va fatto dal EDT. E non solo il setModel ... vedo che fai altre operazioni sulla interfaccia grafica.
Per farla breve, devi fare queste operazioni nel contesto del EDT. Quindi devi usare il "solito" invokeLater() di SwingUtilities.
E nota anche una cosa: updateUI() non ti serve ... è fatto per altro (ha a che fare con i Look and Feel), non devi usarlo.
Inizia quindi a correggere la questione sull'accesso ai componenti, che sia nel EDT.
Il fatto che cambi totalmente il model, istanziando un nuovo model, può anche non essere la cosa migliore del mondo .... L'alternativa ovviamente è aggiornare la struttura interna al model. Ma bisognerebbe vedere cosa è e come è fatto quel GenericTableModel.