我必须每2秒更改一个标签的图标。我在src文件夹中有3张图片。要更改它们,我使用一个线程。我写的代码:
private Thread t;
private int indexIcon;
public ImageIcon[] icons = {new ImageIcon(this.getClass().getResource("orange.jpg")),
new
ImageIcon(this.getClass().getResource("cosmote.jpg")), new
ImageIcon(this.getClass().getResource("vodafone.jpg"))};
public void run() {
while (true) {
try {
Thread.sleep(2000);
if (Thread.interrupted()) {
return;
}
indexIcon++;
if (indexIcon > 2) {
indexIcon = 0;
}
jLabel8.setIcon(icons[indexIcon]);
} catch (InterruptedException ex) {
Logger.getLogger(CarteDeTelefonGUI.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
在类构造函数中:
t = new Thread(this);
t.start();
它工作正常,但问题是当我在另一台计算机上运行程序时它不读取图像,我得到一个nullpointer异常。 我怎么能解决这个问题?