Java 如何用打印机打印JFrame的内容

Java 如何用打印机打印JFrame的内容,java,printing,jframe,Java,Printing,Jframe,我想用打印机打印JFrame/JPanel的内容怎么做?某人能给我举个代码的例子吗?我不懂官方教程 编辑: 我觉得很清楚。我不想将其打印到文件,然后手动打印。我想用java来做这件事 BufferedImage image = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics2D g = image.createGraphics(); thi

我想用打印机打印
JFrame/JPanel
的内容怎么做?某人能给我举个代码的例子吗?我不懂官方教程

编辑: 我觉得很清楚。我不想将其打印到文件,然后手动打印。我想用java来做这件事

    BufferedImage image = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB);
    Graphics2D g = image.createGraphics();
    this.paint(g);
    g.dispose();

    // File to save output Image
    File imageOut = new File("screenshot.png");
    try {
        ImageIO.write(image, "png", imageOut);
    } catch (IOException ex) {
        System.out.println(ex.getMessage());
    }

如果这是一个JFrame

,而不是由打印机打印,则这是打印到文件。但谢谢你抽出时间。