Java 如何打印带有或不带标题栏的JFrame?

Java 如何打印带有或不带标题栏的JFrame?,java,swing,printing,jframe,bufferedimage,Java,Swing,Printing,Jframe,Bufferedimage,我的代码基本上如下所示: BufferedImage image = ...... Graphics g = image.createGraphics(); jFrame.printAll(g); 当我查看图像时,标题栏区域始终为黑色 有人知道如何打印带有标题栏或不带标题栏的jFrame吗 有人知道如何打印带有标题栏或不带标题栏的jFrame吗 只打印内容窗格 jFrame.getContentPane().printAll(g); 有人知道如何打印带有标题栏或不带标题栏的jFrame吗 只

我的代码基本上如下所示:

BufferedImage image = ......
Graphics g = image.createGraphics();
jFrame.printAll(g);
当我查看图像时,标题栏区域始终为黑色

有人知道如何打印带有标题栏或不带标题栏的jFrame吗

有人知道如何打印带有标题栏或不带标题栏的jFrame吗

只打印内容窗格

jFrame.getContentPane().printAll(g);
有人知道如何打印带有标题栏或不带标题栏的jFrame吗

只打印内容窗格

jFrame.getContentPane().printAll(g);

试试:
yourFrame.setUndercorated(true)

尝试:
yourFrame.setUndercorated(true)

当我查看图像时,标题栏区域始终为黑色

标题栏(和边框)不是由Swing绘制的,因为它们是来自您正在使用的平台的窗口

如果要获得整个帧的图像,则需要使用
Robot.createScreenCapture()
。这个班会很容易为你做到这一点

然后,您可以尝试打印创建的BuffereImage。我不确定这样做的最佳方式,但您可以使用缓冲图像创建一个ImageIcon。然后可以将图标添加到JLabel,然后打印标签。在执行此操作之前,可能需要调用label.setSize(label.getPreferredSize())

当我查看图像时,标题栏区域始终为黑色

标题栏(和边框)不是由Swing绘制的,因为它们是来自您正在使用的平台的窗口

如果要获得整个帧的图像,则需要使用
Robot.createScreenCapture()
。这个班会很容易为你做到这一点


然后,您可以尝试打印创建的BuffereImage。我不确定这样做的最佳方式,但您可以使用缓冲图像创建一个ImageIcon。然后可以将图标添加到JLabel,然后打印标签。在执行此操作之前,您可能需要调用label.setSize(label.getPreferredSize())。

您好,您知道捕获整个帧的其他方法吗?不使用Robot.createScreenCapture()…如果使用未修饰的JFrame,则应该能够获得根窗格的图像。您好,您知道捕获整个框架的其他方法吗?不使用Robot.createScreenCapture()…如果使用未修饰的JFrame,则应该能够获得根窗格的图像。