java robot createScreenCapture截图范例【转自百度空间】

原文来自于
http://hi.baidu.com/leejun_2005/blog/item/dae85d07850fc376030881ee.html

 

今天看到了远控, 写到一半不知下手,于是google了一篇,如下~

1、new一个class

package firstTest;

import java.awt.Dimension;

import java.awt.Rectangle;

import java.awt.Robot;

import java.awt.Toolkit;

import java.awt.image.BufferedImage;

import java.io.File;

import javax.imageio.ImageIO;

public class GuiCamera

{

private String fileName; // 文件的前缀

private String defaultName = "GuiCamera";

static int serialNum = 0;

private String imageFormat; // 图像文件的格式

private String defaultImageFormat = "png";

Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

public GuiCamera() {

   fileName = defaultName;

   imageFormat = defaultImageFormat;

}

public GuiCamera(String s, String format) {

   fileName = s;

   imageFormat = format;

}

public void snapShot() {

   try {

    // 拷贝屏幕到一个BufferedImage对象screenshot

    BufferedImage screenshot = (new Robot()).createScreenCapture(new

    Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));

    serialNum++;

    // 根据文件前缀变量和文件格式变量,自动生成文件名

    String name = fileName + String.valueOf(serialNum) + "."
      + imageFormat;

    File f = new File(name);

    System.out.print("Save File " + name);

    // 将screenshot对象写入图像文件

    ImageIO.write(screenshot, imageFormat, f);

    System.out.print("..Finished!\n");

   }

   catch (Exception ex) {

    System.out.println(ex);

   }

}

public static void main(String[] args) {

   GuiCamera cam = new GuiCamera("J:/Documents and Settings/June/桌面", "png");//

   cam.snapShot();

}

}

 

2、new一个form,在form上面拖放一个button与label,然后添加一段如下代码:


private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {

JFileChooser jFileChooser = new JFileChooser();//FileDialog

jFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

int returnVal = jFileChooser.showOpenDialog(getParent());

if (returnVal == JFileChooser.APPROVE_OPTION) {

System.out.println("You chose to open this file: "

+ jFileChooser.getSelectedFile().getName());

String fileChooser = jFileChooser.getSelectedFile()

.getAbsolutePath()

+ "\\";

jLabel1.setText("截图已经保存到 :" + fileChooser);

GuiCamera cam = new GuiCamera(fileChooser, "jpg");

cam.snapShot();

}

}
 

 

3、效果如图所示,该方法createScreenCapture是robot类中的一个方法,在jdk1.3中加入的。(图第一次挂了,尼玛的百。度防盗链)

java robot createScreenCapture截图范例【转自百度空间】_第1张图片

你可能感兴趣的:(java,java,java,robot,robot)