0

ArrayList に格納された BufferedImages を使用して、JButton のイメージ アイコンを変更するループを作成したいと考えています。試してみると、最後の画像に設定され、残りはすべてスキップされます。関連するコードは次のとおりです。

 private void playButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           
    for (int x = 0; x < myPhotos.size(); x++) {
        icon.setImage(myPhotos.get(x));
        displayButton.setIcon(icon);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException ex) {
            Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
} 

myPhotos は、バッファリングされた画像の配列リストです。

アイコンは ImageIcon です

displayButton は JButton です。

問題は、JButton のアイコンを 1 回しか設定できないことにあるのではないかと考えています。あなたの 1 人がこれを回避する方法を知っているほど賢いことを願っています。

4

1 に答える 1

1

絵をブロックしているので、ここでスリープを使用しないでください。一定の間隔でアイコンを変更するなどの反復作業には、Swing のタイマーを使用する必要があります。

于 2012-04-22T20:02:34.900 に答える