我的程序在开始后可以显示从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();
            }
        }
    }

解决方案 »

  1.   

    label1.repaint();
    刷label没用, 刷它的上一层容器.
      

  2.   

    我觉得每次图片更新都在一个actionPerformed后面,也就是说你只能在按下Button后改变图片一次,
    因为它的重绘是在actionPerformed结束以后。所以你中间改变了JLabel中的图片,它是不能重绘的。
    ...
      

  3.   

    hifan(Hifan On Line) 
    谢谢,那我要达到相同的效果该怎么处理呢?