JLabel actionlistener,用什么?自动更新标签

时间:2015-04-09 10:13:52

标签: java swing actionlistener jlabel

我正在尝试在GUI运行时更新JLabel个对象。 创建包含文本和一些变量的3个标签。程序运行时,这些变量会自动更新。

我想制作一个ActionListener,就像你可以制作一个按钮,但不点击更新标签。我希望它每1秒自动更新一次。

我的标签的一些代码:

powermessage = new JLabel("<html> Usage: " + kWh + " kWh <br> <br>" + message + "</html>");

在使用此方法之前(见下文)。

button.addActionListener(this);

这很好用,但我不希望用户点击监视器进行更新。

任何人都知道一个简单的解决方案吗?

2 个答案:

答案 0 :(得分:4)

我试试这样:

Timer myTimer = new Timer(1000, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
    powermessage.setText("myvaluegoeshere");
    }
});
myTimer.start();

答案 1 :(得分:0)

创建计时器并从内部更新JLabel.text属性:

import java.util.Timer;
import java.util.TimerTask;

Timer timer = new Timer();
timer.schedule(new TimerTask() {

    @Override
    public void run() {
        // update your labels here
    }
}, 1000,1000);