通过对于Robot、ToolKit和setIcon的调用完成屏幕截图!
------------------------
代码如下:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.image.ImageProducer;
import javax.swing.*;
import java.lang.*;
class ScreenCapture2 extends JFrame{
JButton b1;
JLabel L;
public void ScreenCapture(){
b1 = new JButton("截图");
L = new JLabel();
this.setBounds(0,0,1000,1000);
b1.setBounds(0,900,1000,100);
L.setBounds(0,0,1000,900);
this.setLayout(null);
this.add(b1);
this.add(L);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
b1.addActionListener(new ActionListener(){
public void actionPerformed( ActionEvent e){
try{
Robot robot =new Robot();
Toolkit toolkit = Toolkit.getDefaultToolkit();
Rectangle area = new Rectangle(toolkit.getScreenSize());
BufferedImage bufferedImage = robot.createScreenCapture(area);
ImageProducer producer = bufferedImage.getSource();
Image image = toolkit.createImage(producer);
L.setIcon(new ImageIcon(image));
}catch (AWTException e1){
e1.printStackTrace();
}
}
});
}
}
public class ScreenCapture1{
public static void main (String [] args){
ScreenCapture2 f = new ScreenCapture2();
f.ScreenCapture();
}
}
截图效果可自行运行查看