Как распечатать JFrame с или без заголовка? - PullRequest
0 голосов
/ 18 января 2012

Мой код в основном выглядит следующим образом:

BufferedImage image = ......
Graphics g = image.createGraphics();
jFrame.printAll(g);

Когда я просматриваю изображение, область строки заголовка всегда черная ...

Кто-нибудь знает, как печатать jFrame с заголовкомили без строки заголовка?

Ответы [ 3 ]

3 голосов
/ 18 января 2012

При просмотре изображения область строки заголовка всегда черная ...

Строка заголовка (и границы) не окрашена Swing, поскольку они являются окном с платформы.вы используете.

Если вы хотите получить изображение всего кадра, вам нужно использовать Robot.createScreenCapture().Класс Screen Image сделает это за вас легко.

Затем вы можете попытаться напечатать созданный BufferedImage.Я не уверен, что лучший способ сделать это, но вы можете просто создать ImageIcon, используя буферизованное изображение.Затем вы можете добавить значок в JLabel и затем распечатать этикетку.Возможно, вам потребуется вызвать label.setSize (label.getPreferredSize ()) перед этим.

3 голосов
/ 18 января 2012

Кто-нибудь знает, как печатать jFrame с заголовком или без заголовка?

Печать только панели содержимого.

jFrame.getContentPane().printAll(g);
0 голосов
/ 18 января 2012

Попробуйте: yourFrame.setUndecorated(true);

...