Jon*_*han 3 java swing refresh jlabel imageicon
我正试图在图像处理方面做一个实验.基本上我有一个图像,由计时器不断更新,我在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());
}
}
});
Run Code Online (Sandbox Code Playgroud)
其中filename是我的图像的路径.
显示图像但JLabel从不刷新我的图像.我测试了我的代码,如果我在两个不同的图像之间切换,它正在工作......
编辑:
每次创建最后一个图像并使用时间戳重命名时,我都会通过复制解决.
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();
Run Code Online (Sandbox Code Playgroud)
用以下内容替换所有内容:
label.setIcon(icon);
Run Code Online (Sandbox Code Playgroud)
如果标签在该点处不可见,则将其声明为外部类的类属性或与frame
该片段相同的级别(显然可在该片段中访问).
归档时间: |
|
查看次数: |
7885 次 |
最近记录: |