如何从JFrame屏幕截图中删除标题栏?

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内容图像的最简单方法是什么?

cam*_*ckr 5

您应该能够使用Screen Image类.只需指定框架的内容窗格(如果您有菜单,则指定根窗格)作为您想要图像的组件.

或者您的基本代码应该工作,再次只是将内容窗格(或根窗格)指定为您要绘制的组件,而不是框架itelf.