2012-04-20 3 views
5

JTable과 메서드를 인쇄하려고하면이 시나리오가 나타날 때까지 잘 작동합니다. 말하자면, 첫 번째 페이지 (헤더가 아님)에 "Report"라는 텍스트를 인쇄하고 마지막에는 "This is end of report"라는 텍스트를 인쇄하려고합니다. 마지막 페이지의 첫 페이지와 맨 아래에 인쇄 할 때이 텍스트 만 머리글이나 바닥 글이 필요 없다는 것을 다시 한 번 분명히 밝힙니다.JTable 앞뒤에 인쇄 할 텍스트를 추가합니다

어떻게하면됩니까?

+0

불가능합니다. Actuall dublicate! – Vagelism

+0

확인. 나는 그것이 삭제된다라고 생각한다! 고맙습니다! – Vagelism

답변

4

here과 같이,이 작업을 수행하는 한 가지 방법은 일련 번호 을 java.awt.print.Book으로 변경하는 것입니다.

부록 : JTablegetPrintable() 방법을 사용하여 사물을 단순화해야합니다. 여기에 개요 및 간단한 제목이 있습니다 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; 
    } 
} 
+0

고마워요.하지만 여전히 내 기술을 위해 진보 한 것 같습니다 !!! 단 2 줄 인쇄가 복잡해 보입니다. 이것이 그것이되어야하는 방식인가? 더 간단한 무엇인가? – Vagelism

+1

나는 정교했다. 플랫폼의 인쇄 미리보기를 사용하여 조금 실험해야 할 수도 있습니다. – trashgod

관련 문제