Im пытается сделать JDialog, который покажет пользователю динамическое сообщение на JLabel. Сообщение должно быть числом от 1 до 10 (и оно должно меняться число раз в секунду). вещь, когда im отлаживает ее - она останавливается сразу после «dia.setVisible (true)»; , и не будет продолжаться, если я не закрою JDialog. Есть ли какой-либо возможный способ его крепления? Спасибо.Установить динамический JLabel текст в JDialog по таймеру
Взгляните на код:
@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();
}
}
}
согласованный SwingWorker определенно является лучшей альтернативой. Я должен попытаться узнать этот API раз и навсегда (ну, я знаю это, но я никогда не использовал его, поэтому я никогда не был слишком уверен) –