我試圖打印JTable
和print()
方法,直到我遇到這種情況。假設我想在之前打印的第一頁(不是標題)中輸入文本「報告」,最後輸入文本「這是報告結束」。我希望再次澄清一下,我不需要頁眉或頁腳,只有當我打印它們時,纔會將該文本顯示在最後一頁的第一頁和最下面的頂部。在JTable之前和之後附加打印文本
我該怎麼做?
我試圖打印JTable
和print()
方法,直到我遇到這種情況。假設我想在之前打印的第一頁(不是標題)中輸入文本「報告」,最後輸入文本「這是報告結束」。我希望再次澄清一下,我不需要頁眉或頁腳,只有當我打印它們時,纔會將該文本顯示在最後一頁的第一頁和最下面的頂部。在JTable之前和之後附加打印文本
我該怎麼做?
執行此操作的一種方法是將append()
一系列適合的Printable
實例設置爲java.awt.print.Book
,如here所示。
附錄:JTable
有一個getPrintable()
方法應該簡化的東西;這裏是輪廓和簡單標題Printable
:
PrinterJob pj = PrinterJob.getPrinterJob();
Book book = new Book();
book.append(new Title(), pj.defaultPage());
book.append(table.getPrintable(...), pj.defaultPage());
book.append(new EndPage(), pj.defaultPage());
pj.setPageable(book);
pj.print();
...
private static class Title implements Printable {
Font font = new Font("SansSerif", Font.PLAIN, 48);
@Override
public int print(Graphics g, PageFormat pf, int pageIndex)
throws PrinterException {
Graphics2D g2d = (Graphics2D) g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
g2d.setFont(font);
g2d.setColor(Color.black);
g2d.drawString("Report", 50, 200);
return Printable.PAGE_EXISTS;
}
}
不可能。 Actuall dublicate! – Vagelism 2012-04-20 18:49:05
好的。我認爲它被刪除了!謝謝! – Vagelism 2012-04-20 18:54:25