Image.getSource() has the following syntax.
public abstract ImageProducer getSource()
In the following code shows how to use Image.getSource() method.
// w ww . ja v a2s . c o m 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 java.awt.image.ImageProducer; 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); ImageProducer pro = img.getSource(); this.repaint(); } } class PicturePanel extends JPanel { public void paint(Graphics g) { g.drawImage(img, 0, 0, this); } } }