我試圖在圖像處理中做一個實驗。 基本上我有一個圖像,不斷更新定時器,我在JLabel中顯示該圖像。帶更新圖像的JLabel刷新圖標
我的問題是,JLabel不會刷新圖像。
這裏是我的計時器代碼:
Timer timer = new Timer(200, new ActionListener() {
public void actionPerformed(ActionEvent e) {
count++;
System.out.println("timer");
System.out.println(filename);
ImageIcon icon = new ImageIcon(filename);
label = new JLabel();
label.setIcon(icon);
label.setText(""+count);
panel = new JPanel();
panel.add(label);
frame.getContentPane().removeAll();
frame.getContentPane().add(panel);
frame.repaint();
frame.validate();
try{
FileWriter fstream;
fstream = new FileWriter(filename,true);
BufferedWriter out = new BufferedWriter(fstream);
out.write("text to append");
out.close();
}catch (Exception ex){
System.err.println("Error: " + ex.getMessage());
}
}
});
其中,文件名是路徑到我的形象。
顯示圖像,但JLabel從不刷新我的圖像。 我測試我的代碼,並正在努力,如果我兩個不同的圖像之間SWICH ...
編輯:
我通過重複每一個最後的形象創造並使用時間戳重命名及時解決。
你是否在更改文件名變量或者你是否總是使用相同的?通過查看您提供的代碼,我可以看出,文件名總是相同的,所以它會繪製相同的圖像。 –
是的文件名總是相同的,但圖像更新... – Jonathan
爲了更好地幫助,請發佈[SSCCE](http://sscce.org/)。 將任何與'FileWriter'有關的因素列出來 –