我的程序在开始后可以显示从BufferImage里读到的图片,但是按下button后Label里的图片不能刷新,可是保存为文件的图片确刷新了,是我的程序有问题吗?该怎么写?代码如下 public void jButton1_actionPerformed(ActionEvent e) {
File outfile = new File("1.jpg");
while(true)
{
if ((bImage = vision.getBufferedImage()) == null) {
}
ImageIcon ii = new ImageIcon(bImage.getScaledInstance(160, 120, 24));
jLabel1.setIcon(ii);
jLabel1.repaint();
try {
ImageIO.write((RenderedImage) bImage, "jpg", outfile);
Thread.sleep(5000); } catch (Exception aexception) {
aexception.printStackTrace();
}
}
}
File outfile = new File("1.jpg");
while(true)
{
if ((bImage = vision.getBufferedImage()) == null) {
}
ImageIcon ii = new ImageIcon(bImage.getScaledInstance(160, 120, 24));
jLabel1.setIcon(ii);
jLabel1.repaint();
try {
ImageIO.write((RenderedImage) bImage, "jpg", outfile);
Thread.sleep(5000); } catch (Exception aexception) {
aexception.printStackTrace();
}
}
}
刷label没用, 刷它的上一层容器.
因为它的重绘是在actionPerformed结束以后。所以你中间改变了JLabel中的图片,它是不能重绘的。
...
谢谢,那我要达到相同的效果该怎么处理呢?