1

我必须每 2 秒更改一次 jLabel 的图标。我使用 Timer 和 Timer 任务来执行此操作,但它只显示第一张图像。这是代码:

    ImageIcon[] icons = {new ImageIcon(this.getClass().getResource("orange.jpg")), new     
    ImageIcon(this.getClass().getResource("cosmote.jpg")), new 
    ImageIcon(this.getClass().getResource("vodafone.jpg"))};
    java.util.Timer timer = new java.util.Timer();
    int indexIcon;

然后在 JFrame 构造函数中:

    initComponents();
    open(fisierAgenda);
    TimerTask task = new TimerTask() {
        public void run() {
            indexIcon=(indexIcon++)%3;
            jLabel.setIcon(icons[indexIcon]);
            jLabel.setText(""+indexIcon);
        }
    };
    timer.schedule(task, 0, 2000);

任何帮助将非常感激。

4

2 回答 2

3
于 2013-05-22T13:01:43.170 回答
-1

您应该为此使用线程。至少,这就是我会使用的。

于 2013-05-22T12:58:33.090 回答