gpt4 book ai didi

Java - 每秒重绘组件?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:43:31 26 4
gpt4 key购买 nike

我想在每一秒后重绘组件,但没有成功。我正在尝试的是:

    try{
while(true){
Thread.currentThread().sleep(1000);
gc.cb.next();
gc.repaint();
}
}
catch(Exception ie){
}

最佳答案

我建议使用 javax.swing.Timer对于这个问题,它将定期在事件调度线程上触发 ActionEvent(请注意,您应该只从该线程调用重绘和/或操作 Swing 组件)。然后您可以定义一个 ActionListener 来拦截事件并在此时重新绘制您的组件。

示例

JComponent myComponent = ...
int delay = 1000; //milliseconds

ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
myComponent.repaint();
}
};

new Timer(delay, taskPerformer).start();

另请注意,SwingWorker 可能不合适,因为它通常用于具有定义的开始和结束的后台任务,而不是周期性任务。

关于Java - 每秒重绘组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2972651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com