我正在通过“双缓冲”方法捕获 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 内容图像的最直接方法是什么?
最佳答案
您应该能够使用 Screen Image类(class)。只需将框架的内容 Pane (如果有菜单,则指定根 Pane )作为您想要其图像的组件。
或者您的基本代码应该可以工作,只需将内容 Pane (或根 Pane )指定为您要绘制的组件,而不是框架本身。
关于java - 如何从 JFrame 屏幕截图中删除标题栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4515902/