我想开发一个程序,使用JLabel
来呈现图像幻灯片。
每当我显示单个图像时,它都能正常工作。我的问题是,当我在数组中加载图像路径时,它们不会显示在JLabel
上:
刷新或更新JLabel
无效。
这是我的代码,显示我发现错误的功能
private ActionListener action = new ActionListener(){
public void actionPerformed(ActionEvent ae){
if (count == imgNames.size()) {
System.exit(0);
}
JLabel temp = new JLabel();
temp.setIcon(new ImageIcon(imgNames.get(count)));
picLabel = temp ;
add(picLabel);
System.out.println("Count "+ count);
count++;
revalidate();
repaint();
}
};
timer
设置如下:
timer = new Timer(2000, action);
timer.start();
答案 0 :(得分:1)
上述问题的解决方案已经解决。这很简单。使用ImageIcon []是一个数组,而不是获取字符串(FILE NAMES),然后将其提供给setIcon方法,因为这不会刷新或更新jLabel上的图像..所以最好使用这种方式。 我不知道这个答案的原因。如果有人知道请发布,以便其他人和我将对该主题有所帮助。