我正在尝试在GUI运行时更新JLabel
个对象。
创建包含文本和一些变量的3个标签。程序运行时,这些变量会自动更新。
我想制作一个ActionListener
,就像你可以制作一个按钮,但不点击更新标签。我希望它每1秒自动更新一次。
我的标签的一些代码:
powermessage = new JLabel("<html> Usage: " + kWh + " kWh <br> <br>" + message + "</html>");
在使用此方法之前(见下文)。
button.addActionListener(this);
这很好用,但我不希望用户点击监视器进行更新。
任何人都知道一个简单的解决方案吗?
答案 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);