まずはSwingとThredの関係を勉強汁
http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/package-summary.html#threading

想像でしかないが、キーイベントを受け取って、その値を描画するようなプログラムなのか?
そうだとしたら、キーを受け取ったイベント処理で再描画させればいい(ただし、EDTを考慮する)
ポーリング(Thread等で定期的になにか実行する)する必要があるのかい?
前のレスでも出ているが、addKeyListenerはサンプルソースを参考にnewが終わった後にやるべき。
Threadを作るのも同じようにnewの後の方が危険が少ない