下面是我的代码:
ImageIcon scimage = new ImageIcon(imageFile);
JLabel scimageLabel = new JLabel("", scimage, JLabel.CENTER);这样在我的窗口能显示指定的图片,但这个指定的图片文件内容会变化,
我想在窗口上点按钮来刷新图片显示:
scimageLabel.setIcon(new ImageIcon(imageFile))但这句话根本不管用,图片老是不刷新,这是为什么?若真的不行,那位高手能否告诉我,用什么方法来实现图片刷新(图片文件名不变,图片内容会变化的)????
ImageIcon scimage = new ImageIcon(imageFile);
JLabel scimageLabel = new JLabel("", scimage, JLabel.CENTER);这样在我的窗口能显示指定的图片,但这个指定的图片文件内容会变化,
我想在窗口上点按钮来刷新图片显示:
scimageLabel.setIcon(new ImageIcon(imageFile))但这句话根本不管用,图片老是不刷新,这是为什么?若真的不行,那位高手能否告诉我,用什么方法来实现图片刷新(图片文件名不变,图片内容会变化的)????
前加一条scimageLabel.setIcon(null)试试。
int desc = 0;
scimageLabel.setIcon(new ImageIcon(imageFile, String.valueOf(desc++)));
desc要作为类的成员变量。
以下代码测试通过。Image img = Toolkit.getDefaultToolkit().createImage("icon.gif");
label.setIcon(new ImageIcon(img));
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);
label.setIcon(new ImageIcon(img));