質問: swingでメールを一斉配信するプログラムを作成中です。メールの送信中に、送信が完了したメールの件数をリアルタイムで表示させたいと考えています。 とりあえず、JLabelに送信完了した件数を、その都度setTextする方法を試しましたが、何も表示されません。このような場合どのようにしたらいいのでしょうか? 全く別の方法があるのでしょうか? どなたかご教示願います。
回答: これはJava GUI FAQの王様です。あんた、いくら王様でも、ちょいとあちこち顔を見せすぎですよ。今日のJava教育は、一体どうなっているのだ!?ブツブツ。 メール送信は別スレッドで行い、そのスレッドの中からGUI更新はJava GUIのスレッドに登録するんです。JDK 1.6以降は、SwingWorkerという高級なAPIをそのために使えます。サンプルがドキュメンテーションについてるから、すぐ使えると思いますよ。