下面是我的代码:
ImageIcon scimage = new ImageIcon(imageFile);
JLabel scimageLabel = new JLabel("", scimage, JLabel.CENTER);这样在我的窗口能显示指定的图片,但这个指定的图片文件内容会变化,
我想在窗口上点按钮来刷新图片显示:
scimageLabel.setIcon(new ImageIcon(imageFile))但这句话根本不管用,图片老是不刷新,这是为什么?若真的不行,那位高手能否告诉我,用什么方法来实现图片刷新(图片文件名不变,图片内容会变化的)????

解决方案 »

  1.   

    scimageLabel.setIcon(new ImageIcon(YourMainClass.class.getResource(imageFile)));
      

  2.   

    在scimageLabel.setIcon(new ImageIcon(imageFile))
    前加一条scimageLabel.setIcon(null)试试。
      

  3.   

    我也试过了,还是不行的好像imageFile文件名的值不变,这个JLabel就不会刷新内容!!!!
      

  4.   

    你这么作试试
    int desc = 0;
    scimageLabel.setIcon(new ImageIcon(imageFile, String.valueOf(desc++)));
      

  5.   

    int desc = 0;
    desc要作为类的成员变量。
      

  6.   

    我依次把另外两个文件拷贝成"icon.gif"。
    以下代码测试通过。Image img = Toolkit.getDefaultToolkit().createImage("icon.gif");
    label.setIcon(new ImageIcon(img));
      

  7.   

    楼上的兄弟,我把我的刷新按钮的代码贴出来,还是不行,你看看:
    ActionListener refreshListener = new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    Object source = e.getSource();
    if (source == refreshButton){
    String desc = String.valueOf( System.currentTimeMillis() );
    scimageLabel.setIcon(new ImageIcon( "test.jpg", desc));
    scimageLabel.setText(desc);
    }
    }
    };

    refreshButton.addActionListener(refreshListener);
      

  8.   

    用我最后给你的方法,我试验成功了。Image img = Toolkit.getDefaultToolkit().createImage("icon.gif");
    label.setIcon(new ImageIcon(img));