Image.flush() has the following syntax.
public void flush()
In the following code shows how to use Image.flush() method.
//from w ww.j ava 2s . c om import java.awt.BorderLayout; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class Main extends JFrame implements ActionListener { Image img; JButton getPictureButton = new JButton("Get Picture"); public static void main(String[] args) { new Main(); } public Main() { this.setSize(300, 300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel picPanel = new PicturePanel(); this.add(picPanel, BorderLayout.CENTER); JPanel buttonPanel = new JPanel(); getPictureButton.addActionListener(this); buttonPanel.add(getPictureButton); this.add(buttonPanel, BorderLayout.SOUTH); this.setVisible(true); } public void actionPerformed(ActionEvent e) { String file = "a.png"; if (file != null) { Toolkit kit = Toolkit.getDefaultToolkit(); img = kit.getImage(file); img = img.getScaledInstance(300, -1, Image.SCALE_SMOOTH); img.flush(); this.repaint(); } } class PicturePanel extends JPanel { public void paint(Graphics g) { g.drawImage(img, 0, 0, this); } } }