加载后更改jDabel中jLabel的值

时间:2010-07-21 05:04:09

标签: java multithreading jlabel jdialog

我有JDialog JLabel。我想每10秒更改一次标签的值。 如何在JDialog中使用更新后的值重绘/重新绘制JLabel

2 个答案:

答案 0 :(得分:1)

使用Swing Timer来安排标签的更新。然后你要做的就是

label.setText(...);

并自动重新绘制标签。无需调用repaint()

问题可能是您在显示模式Timer后尝试启动JDialog。在这种情况下,代码在对话框关闭之前不会执行。因此,您需要确保在使用Timer之前启动dialog.setVisible(true)

如果您需要更多帮助,请发布显示问题的SSCCE

答案 1 :(得分:-1)

您可以使用TimerTimerTask每10秒安排一次,您需要提供JLabel的{​​{1}}值。之后,您将使用Text方法刷新当前窗口。现在,您将更新repaint()的{​​{1}}值...