打印JPanel

时间:2012-05-28 13:02:19

标签: java swing printing graphics2d

我正在尝试打印一个名为comp的JPanel。它包含一个tabel和一些标签。我什么时候

打印comp表格超出页面宽度。我真的不明白为什么这是

发生了。需要解决这个问题

以下是我正在使用的打印方法:

private void printCard(){

PrinterJob printjob = PrinterJob.getPrinterJob();
printjob.setJobName(" personal card ");

printjob.setPrintable (new Printable() {      
     public int print(Graphics pg, PageFormat pf, int pageNum){                  

         pf.setOrientation(PageFormat.LANDSCAPE);

         if (pageNum > 0){
            return Printable.NO_SUCH_PAGE;
         }

         Graphics2D g2 = (Graphics2D) pg;
         g2.translate(pf.getImageableX(), pf.getImageableY());
         g2.translate( 0f, 0f );
         comp.paint(g2);

         return Printable.PAGE_EXISTS;
     }
});

if (printjob.printDialog() == false)
   return;

try {
   printjob.print();
}
catch (PrinterException ex) {
   System.out.println("NO PAGE FOUND."+ex);
   }
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

调整表格和标签的大小。这应该有用。