我有一项任务:
自动显示一系列图片,如幻灯片,按钮名为 btnAutoView ,显示图片的功能称为 displayImage(int index), index是图片的订单号,如1,2,3,4,5。
代码如下(counter是全局变量):
public void displayImage(int index)
{
String[] imageList = getImages();
String imageName =imageList[index];
ImageIcon icon = new ImageIcon(filePath+'/'+imageName);
Image image = icon.getImage().getScaledInstance(PhotoView.getWidth(),PhotoView.getHeight(),Image.SCALE_SMOOTH);
PhotoView.setIcon(new ImageIcon(image));
}
btnAutoView.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
counter=0;
while(counter!=5){
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
displayImage(counter++);
}
}
});
当我点击按钮时,图片应每2秒逐一显示。但它不起作用,我使用 System.out.println(计数器)来检查 thread.sleep(2000),它工作正常,这意味着我不能不止一次使用 displayImage()。
那么这里的问题是什么?