原文来自于
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中加入的。(图第一次挂了,尼玛的百。度防盗链)