Thanks for your input guys,
read up on concurrency and have now implemented ActionListener,
using swing.timer to execute the table update every 3 seconds
this is using the event-dispatch thread and so is safe to use for gui updating.
I think my problem is Solved