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 例外が発生するという問題があります。どうすればこの問題を解決できますか?