Problem about screen capture program

Hi, i have done a program which captures the screen contents to an image and stores it to one directory.

package com.example.screencapture;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.imageio.ImageIO;

import com.vaadin.Application;
import com.vaadin.ui.*;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;

public class ScreencaptureApplication extends Application implements ClickListener 
	private static Window mainWindow = new Window("Screencapture Application");
	private Button label = new Button("Capture");
	String SaveTo;
	public void init() 

	public void buttonClick(ClickEvent event) 
		Button source = event.getButton();
		if(source == label)
				  Robot robot = new Robot();
				  Dimension d = new Dimension(Toolkit.getDefaultToolkit().getScreenSize());
				  int width = (int) d.getWidth();
				  int height = (int) d.getHeight();
				  Image image = robot.createScreenCapture(new Rectangle(0, 0, width, height));
				  BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
				  Graphics g = bi.createGraphics();
				  g.drawImage(image, 0, 0, width, height, null);
				  Calendar mycalendar = Calendar.getInstance();
			      SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd_hhmmss");
			      String timeStamp = formatter.format(mycalendar.getTime());
				  SaveTo = "C:/temp/SparkCapture-"+ timeStamp + ".png";

			            BufferedImage pi = bi;
			            File outputfile = new File(SaveTo);
			            ImageIO.write(pi, "png", outputfile);			
			        } catch (IOException e) 
				  getMainWindow().showNotification("Screen Captured Successfully and Saved to:\n"+SaveTo);  		        
			}catch(Exception e)

And when I run this program in eclipse then it shows output file is saved and i found it is created there.

but when i deployed this program as a .war file on tomcat v6 it gives me one big black rectangle rather than an image
so what should i do?
Please help me.


The problem is that Vaadin is (mostly) server-side library - so the code that you write executes on Tomcat. Therefore, when you click that button, you’ve just taken a screenshot of the machine tomcat machine. (Well, actually, you probably haven’t : tomcat is usually running as a daemon or as a windows service, with no access to the Desktop/GUI - aka Headless , so it can’t take a screenshot, which is why it is a black rectangle).

In short, to take a screenshot of the browser, you will need to use a
Screen Capture



Hi, Thank you very much for such a nice reply. I will try for Screen capture add-on. Thanks again.:smiley: