刷新JLabel的Icon


描述:
JFrame上一个JLabel,一个JButton,JButton放在JPanel中。
点击按钮会生成一个jpg图片文件,然后把这个图片设置为JLabel的Icon显示出来。
问题:
第一次点击按钮时可以显示图片。再点击按钮,文件夹中生成的图片确实是新的,但JLabel没有更新显示。

尝试:
我上网查到很多办法想要刷新显示,都没有效果。如

   
  label.repaint();
  
panel.repaint();
label.setVisibel(true);

这个问题该如何解决呢?先谢谢了!

代码:
为JButton添加了下面的事件侦听。

   
  generate_button.addActionListener(new ActionListener(){
  
public void actionPerformed(ActionEvent e){
try {
ImageGenerator.generateImage(path); //在path处生成一个jpg
} catch (Exception e1) {
e1.printStackTrace();
}
ImageIcon imgIcon = new ImageIcon(path);
label.setIcon(imgIcon);

// 这两句都试过了,没有效果。
// panel.repaint();
// label.repaint();
}
});

java swing

冷泉麻子酱 11 years, 4 months ago

Your Answer