我试图做一个JDialog,它会向用户显示一个JLabel上的动态消息。 消息应该是从1到10的计数(并且它应该每秒更改一个数字)。 事情是,当我调试它时 - 它停在“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();
}
}
}
同意的SwingWorker绝对是更好的选择。我应该试着一劳永逸地学习这个API(当然,我知道它,但我从来没有用过它,所以我从不太确定) – 2012-03-28 12:57:43