G__*_*G__ 2 java swing screenshot jframe
我正在通过"双缓冲"方法捕获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;
}
Run Code Online (Sandbox Code Playgroud)
其中this
扩展了JFrame.我得到的图像在标题栏顶部有一个空白条.在没有为标题栏分配额外空间的情况下,捕获JFrame内容图像的最简单方法是什么?
您应该能够使用Screen Image类.只需指定框架的内容窗格(如果您有菜单,则指定根窗格)作为您想要图像的组件.
或者您的基本代码应该工作,再次只是将内容窗格(或根窗格)指定为您要绘制的组件,而不是框架itelf.