Printing 有人能在Java程序中帮助打印JFrame及其所有组件吗

Printing 有人能在Java程序中帮助打印JFrame及其所有组件吗,printing,jframe,Printing,Jframe,各位好,, 现在我面临着一个严重的问题。我已经做了一个java程序,这个程序的一个JFrame需要打印出来。但我不能那样做。 我在网上搜索过,但我找到的代码只打印第一个元素,这意味着只有一个元素可能是JLabel或JTextBox。但我需要打印整页的所有数据 有人能帮我吗 谢谢将此代码附加到您的课堂。希望这对你有帮助 首先,实现Java类的可打印接口 类ClassName扩展JFrame实现可打印 { //你的密码在这里 } 实现可打印接口后,重写方法print() 现在决定要打印的内容。以

各位好,, 现在我面临着一个严重的问题。我已经做了一个java程序,这个程序的一个JFrame需要打印出来。但我不能那样做。 我在网上搜索过,但我找到的代码只打印第一个元素,这意味着只有一个元素可能是JLabel或JTextBox。但我需要打印整页的所有数据

有人能帮我吗


谢谢

将此代码附加到您的课堂。希望这对你有帮助

首先,实现Java类的可打印接口

类ClassName扩展JFrame实现可打印
{
//你的密码在这里
}

实现可打印接口后,重写方法print()

现在决定要打印的内容。以这样的方式编写代码:所有组件都必须位于一个父JPanel(parentPanel)上。现在,在上面的代码中,注释give
parentPanel.print(g)
旁边将打印该parentPanel上的所有组件

现在我们告诉Java程序要打印什么,但要完成这个打印作业,我们必须创建PrinterJob

PrinterJob job=PrinterJob.getPrinterJob(); 作业。可设置打印(此); 布尔ok=job.printDialog(); 如果(确定){ 试一试{ job.print(); }捕获(打印例外){ 系统输出打印项次(ex); } }

将此代码放在打印按钮的ActionListener中

public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
    if (page > 0) {
        return NO_SUCH_PAGE;
    }
    Graphics2D g2d = (Graphics2D) g;
    g2d.translate(pf.getImageableX(), pf.getImageableY());
    //Give the component to be printed here...
    System.out.println("Successfully printed");
    return PAGE_EXISTS;
}