Как удалить строку заголовка со скриншота JFrame? - PullRequest
2 голосов
/ 23 декабря 2010

Я снимаю снимок экрана 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 Ответ

5 голосов
/ 23 декабря 2010

Вы должны использовать класс Screen Image .Просто укажите панель содержимого фрейма (или корневую панель, если у вас есть меню) в качестве компонента, изображение которого вы хотите.

Или ваш базовый код должен работать, снова просто укажите панель содержимого (или rootпанель) в качестве компонента, который вы хотите нарисовать, а не саму рамку.

...