Useful Java Code Snippets 6 - A Screen Capture Program in Java

Looking for useful code examples to build your Java applications? 

A screenshot, screen capture (or screen-cap) is an image taken by a user to record the visible items displayed on the monitor, television, or other visual output device in use. 

Usually, this is a digital image using the operating system or software running on the computer, but it can also be a capture made by a camera or a device intercepting the video output of the display.

In this example we wrote an application that user can take the screenshot of his/her computer screen by simply pressing a button.

* Author : Berk Soysal

package herrberk;

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

public class CaptureScreenshot {
  public static void capture(String fileName) throws Exception  {
    try {
      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
      Rectangle screenRectangle = new Rectangle(screenSize);
      Robot robot = new Robot();
      BufferedImage image = robot.createScreenCapture(screenRectangle);
      ImageIO.write(image, "png", new File(fileName));
    } catch (Exception e) {
      System.out.println("Error: cannot capture");

* Author : Berk Soysal

package herrberk;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class DrawButton extends JFrame implements ActionListener {
  private JPanel panel = new JPanel();
  private JButton button = new JButton("Take A Snapshot !");
  public DrawButton(){
    setTitle("Berk's ScreenShot Program");
  public void actionPerformed(ActionEvent e) {
    Object source = e.getSource();
    if(source == button) {
      try {
        // You need to modify the image directory 
        System.out.println("Capture Successful !");
      } catch (Exception e1) {
    else System.out.println("Error in Button");
  public static void main(String args[]) throws Exception{
    DrawButton db = new DrawButton();
    db.setLocation(650, 300);

If you do everything right the result should be like the figure below;

Please comment below if you have any questions. Thanks. 

Continue Reading Useful Java Code Snippets 7 - Animated GIF on JFrame


Software Developer, Codemio Admin

Disqus Comments Loading..