我通过"双缓冲"捕捉JFrame的截图图像。方法,如下:
public BufferedImage getScreenshot() {
java.awt.Dimension dim = this.getPreferredSize();
BufferedImage image = new BufferedImage(dim.width, dim.height, BufferedImage.TYPE_INT_RGB);
this.paint(image.getGraphics());
return image;
}
其中this
扩展了JFrame。我得到的图像在标题栏顶部有一个空白条。在没有为标题栏分配额外空间的情况下,捕获JFrame内容图像的最简单方法是什么?
答案 0 :(得分:5)
您应该可以使用Screen Image课程。只需指定框架的内容窗格(如果有菜单,则指定根窗格)作为您想要图像的组件。
或者您的基本代码应该可以工作,再次只需将内容窗格(或根窗格)指定为您要绘制的组件,而不是框架itelf。