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

时间:2010-12-23 04:37:30

标签: 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;     
}

其中this扩展了JFrame。我得到的图像在标题栏顶部有一个空白条。在没有为标题栏分配额外空间的情况下,捕获JFrame内容图像的最简单方法是什么?

1 个答案:

答案 0 :(得分:5)

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

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