今JAVAを勉強しているのですが、「ボタンを押すたびにボールを画面外まで飛ばして消す」という操作を、アプレットではなく普通のアプリケーションとして実行させたいのですが上手くいきません。

ソースとしては、Frameクラスをextendsさせて、ActionListenerとRunnableのインターフェースを実装させてます。

ボタンを押すことでThreadを生成させて、一回はボールを飛ばして消すことが出来るのですが、二回目以降いくらボタンを押してもピクリとも動きません。
調べてみたら「Threadは一度しか実行されない」ということらしいのですが、
アプレットなら、例えばシューティングゲームのようにボタンを押すたびに(もしくはキーやマウスを押すたびになど)何度もThreadを生成させられてるように思うのですが、どうなんでしょうか・・・。