小编T. *_*K. 的帖子

将多个JTable打印为一个作业 - Book对象仅打印第一个表

出于多种原因,我正在尝试将多个JTable的输出组合到一个打印作业中.在尝试构建PDF并梳理Java API之后撕掉了我的头发,我决定使用Book类.我的打印代码目前看起来像这样.

try {       
    PrinterJob printer = PrinterJob.getPrinterJob();

    //Set 1/2 " margins and orientation
    PageFormat pf = printer.defaultPage();
    pf.setOrientation(PageFormat.LANDSCAPE);
    Paper paper = new Paper();
    double margin = 36; // half inch
    paper.setImageableArea(margin, margin, paper.getWidth() - margin * 2, paper.getHeight() - margin * 2);
    pf.setPaper(paper);

    Book printJob = new Book();

    // Note for next line: getAllTables() returns an ArrayList of JTables
    for (JTable t : getAllTables() )  
        printJob.append(t.getPrintable(PrintMode.FIT_WIDTH, null, null), pf,2);

    printer.setPageable(printJob);

    System.out.println(printJob.getNumberOfPages());

    if (printer.printDialog())
        printer.print();
    } catch (PrinterException e) { …
Run Code Online (Sandbox Code Playgroud)

java printing swing jtable

5
推荐指数
1
解决办法
4318
查看次数

标签 统计

java ×1

jtable ×1

printing ×1

swing ×1