JTable
과 메서드를 인쇄하려고하면이 시나리오가 나타날 때까지 잘 작동합니다. 말하자면, 첫 번째 페이지 (헤더가 아님)에 "Report"라는 텍스트를 인쇄하고 마지막에는 "This is end of report"라는 텍스트를 인쇄하려고합니다. 마지막 페이지의 첫 페이지와 맨 아래에 인쇄 할 때이 텍스트 만 머리글이나 바닥 글이 필요 없다는 것을 다시 한 번 분명히 밝힙니다.JTable 앞뒤에 인쇄 할 텍스트를 추가합니다
어떻게하면됩니까?
JTable
과 메서드를 인쇄하려고하면이 시나리오가 나타날 때까지 잘 작동합니다. 말하자면, 첫 번째 페이지 (헤더가 아님)에 "Report"라는 텍스트를 인쇄하고 마지막에는 "This is end of report"라는 텍스트를 인쇄하려고합니다. 마지막 페이지의 첫 페이지와 맨 아래에 인쇄 할 때이 텍스트 만 머리글이나 바닥 글이 필요 없다는 것을 다시 한 번 분명히 밝힙니다.JTable 앞뒤에 인쇄 할 텍스트를 추가합니다
어떻게하면됩니까?
here과 같이,이 작업을 수행하는 한 가지 방법은 일련 번호 을 java.awt.print.Book
으로 변경하는 것입니다.
부록 : 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
확인. 나는 그것이 삭제된다라고 생각한다! 고맙습니다! – Vagelism