import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JDialog;
public class CaptureScreen
{
public static void captureScreen(String fileName)
{
System.out.println("file:"+fileName);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
try
{
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
ImageIO.write(image, "png", new File(fileName));
} catch (AWTException | IOException ex)
{
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
public static void main(String[] args)
{
JDialog d = new JDialog();
d.setIconImage(null);
d.setSize(250, 150);
JButton btn = new JButton("点我截屏");
d.add(btn);
btn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent evt)
{
CaptureScreen.captureScreen("F:"+File.separator+System.currentTimeMillis()+".png");
}
});
d.setLocationRelativeTo(null);
d.setVisible(true);
}
}