刷新或更新JLabel

时间:2014-07-28 11:22:39

标签: java jlabel

我想开发一个程序,使用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();

1 个答案:

答案 0 :(得分:1)

上述问题的解决方案已经解决。这很简单。使用ImageIcon []是一个数组,而不是获取字符串(FILE NAMES),然后将其提供给setIcon方法,因为这不会刷新或更新jLabel上的图像..所以最好使用这种方式。 我不知道这个答案的原因。如果有人知道请发布,以便其他人和我将对该主题有所帮助。