您可以截取 Swing/AWT 组件的屏幕截图。
这可以通过两种方式完成。在这两种情况下,组件都必须是可见的。
不使用机器人:
BufferedImage image = new BufferedImage(component.getWidth(),
component.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics g = image.getGraphics();
component.paint(g);
与机器人一起使用:
在这种情况下,将制作该组件所在区域的屏幕截图。也就是说,如果组件与另一个应用程序窗口重叠,那么屏幕截图将包含另一个窗口的一个区域。
Point point = new Point(0, 0);
SwingUtilities.convertPointToScreen(point, component);
Rectangle region = component.getBounds();
region.x = point.x;
region.y = point.y;
BufferedImage image= new Robot().createScreenCapture(region);
此信息摘自文章:Java 小程序开发过程中的常见问题