JLabel上に動的メッセージを表示するJDialogを作成しようとしています。 メッセージは1から10までのカウントでなければなりません(1秒ごとに数値を変更する必要があります)。 問題は、デバッグするときに、「dia.setVisible(true);」の直後に停止します。私がJDialogを閉じるまで、進まないでしょう。 これを固定する方法はありますか?おかげさまで JDialogのダイナミックJLabelテキストをタイマで設定します。
コードを見てみましょう:
@Override
public void run() {
dia = new JDialog(parentDialog, true);
dia.setLocationRelativeTo(parentFrame);
String text = "Text ";
dia.setSize(300, 150);
jl = new JLabel(text);
dia.getContentPane().add(jl);
dia.setVisible(true);
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(1000);
jl.setText(text + " " + i);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
javax.swing.Timer Tutorialsの助けを借りて、ダイナミックテキストを使用する適切な方法ですSwingWorkerは確実に良い選択肢です。私はそのAPIを一度だけ学んでみるべきです(私はそれを知っていますが、私は決して使っていませんので、 –