I have implemented a fully functional internet relay chat system which involves paint to see what you and other people are saying
It sounds like you are trying to "pull" updates from the server, then you can use a SwingWorker to query the server for updates and then pulish the updates to the GUI. You would want the SwingWorker to sleep so it doesn't continuously poll the server.
Read the section from the Swing tutorial on Worker Threads and SwingWorker for more information.
Maybe a better design is for the server should "push" updates to the client and the client should listen for changes and then repaint itself. Maybe the All About Sockets section will help you out.
Edit:
Here is some old code I havent looked at in over 5 years. The "client" is a simple text pane which sends each character typed to the "server". The server then sends each character to any other client that is connected to the server. The idea it that the server has the most up to date Document. As one client sends a change all other clients are notified of the change. This way all clients always contain the same data. Your code should be simpler since you will only send complete messages to the server. To run the code open a dos window and type:
java DocumentServer 1234
This will start a server that listens to port 1234
Then open another window and type
java DocumentClient 1234 3
This will create 3 client frames that connect to the server. Typing in either of the frames will update the server.
You can get the zip file here:
https://www.camick.com/java/source/echo.zip