我的代码基本上如下:
BufferedImage image = ......
Graphics g = image.createGraphics();
jFrame.printAll(g);
当我查看图像时,标题栏区域总是黑色......
有没有人知道如何用标题栏或没有标题栏打印jFrame?
答案 0 :(得分:3)
有没有人知道如何用标题栏或没有标题栏打印jFrame?
仅打印内容窗格。
jFrame.getContentPane().printAll(g);
答案 1 :(得分:3)
当我查看图像时,标题栏区域总是黑色......
标题栏(和边框)不是由Swing绘制的,因为它们是您正在使用的平台的窗口。
如果您想获得整个帧的图像,则需要使用Robot.createScreenCapture()
。 Screen Image课程将为您轻松完成此任务。
然后您可以尝试打印创建的BufferedImage。我不确定最好的方法,但你可以使用缓冲的图像创建一个ImageIcon。然后,您可以将图标添加到JLabel,然后打印标签。在执行此操作之前,您可能需要调用label.setSize(label.getPreferredSize())。
答案 2 :(得分:0)
尝试:yourFrame.setUndecorated(true);