0
我想要创建一个循环,它用存储在ArrayList中的BufferedImages更改JButton的图像图标。当我尝试时,它只是将其设置为最后一张图像,而其余部分则跳过。相关的代码是这样的:Java:更改循环中按钮的图像图标(用于幻灯片)
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的图标只能设置一次,我希望你们其中一个聪明到足以知道如何解决这个问题。
不要忘记看看JButton的API(它将链接到AbstractButton的API)。如果你只能设置一次JButton的图标,那么API会这样说,而不是。对你来说幸运@AKJ是“足够聪明”,1+给AKJ的答案。 – 2012-04-22 20:35:17
我创建了后退和前进按钮来浏览图像,图像变化非常缓慢。我认为这实际上是为什么幻灯片不能按照我预期的方式工作。对我来说幸运的是我“够聪明”。 – 2012-04-22 21:07:07
是的,幸运的你! :) – 2012-04-22 21:12:00