title: Export JPanel Graphics to .png or .gif or .jpg
body: <p>I'm trying to develop some sort of paint using Java.</p>
  
  <p>I have a JComponent that is located inside of a JPanel.</p>
  
  <p>I already can draw lines and rectangles into that JComponent.</p>
  
  <p>Now, how can I export this drawings as an image (png, gif, jpg)?</p>
  
  <p>I tried this:</p>
  
  <pre><code>BufferedImage b = new BufferedImage(1700,1100,BufferedImage.TYPE_INT_RGB);
  this.print(getGraphics());
  try{ImageIO.write(b,"png",new File("test.png"));}catch (Exception e) {}
  </code></pre>
  
  <p>But that only creates a .png file all black.</p>
  
  <p>Help!!!</p>
  
  <p><strong>RESOLVED!!!</strong></p>
  
  <pre><code>BufferedImage bi = new BufferedImage(this.getSize().width, this.getSize().height, BufferedImage.TYPE_INT_ARGB); 
  Graphics g = bi.createGraphics();
  this.paint(g);  //this == JComponent
  g.dispose();
  try{ImageIO.write(bi,"png",new File("test.png"));}catch (Exception e) {}
  </code></pre>