You do have two threads in your client:
The Event Dispatch Thread (The Java™ Tutorials > Creating a GUI With JFC/Swing > Concurrency in Swing)

I would usually do something similar to what Norm...