Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打印JPanel_Java_Swing_Printing_Graphics2d - Fatal编程技术网

Java 打印JPanel

Java 打印JPanel,java,swing,printing,graphics2d,Java,Swing,Printing,Graphics2d,我正在尝试打印一个名为comp的JPanel。它包含一个选项卡和一些标签。当我 当表格超出页面宽度时,打印补偿。我真的不明白为什么会这样 正在发生。需要解决这个问题吗 以下是我正在使用的打印方法: private void printCard(){ PrinterJob printjob = PrinterJob.getPrinterJob(); printjob.setJobName(" personal card "); printjob.setPrintable (new Printa

我正在尝试打印一个名为comp的JPanel。它包含一个选项卡和一些标签。当我

当表格超出页面宽度时,打印补偿。我真的不明白为什么会这样

正在发生。需要解决这个问题吗

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

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);
   }
}

提前感谢。

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

试试横向打印。他不接受自己的答案,这是否具有讽刺意味?