Я пытаюсь провести эксперимент по манипулированию изображениями. В основном у меня есть изображение, которое постоянно обновляется таймером, и я показываю это изображение в 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 между двумя различными изображениями ...
EDIT:
Я решается дубликата каждый раз, когда последний образ, созданный и переименовании с меткой времени.
Вы изменяете переменную имени файла или используете ли вы все то же самое? Из того, что я могу сказать, посмотрев код, который вы указали, имя файла всегда одно и то же, чтобы оно нарисовало одно и то же изображение. –
Да имя файла всегда одно и то же, но изображение обновляется ... – Jonathan
Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). Фактор вне ничего с 'FileWriter' –