0

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

4

0 に答える 0