Java 打印两张表格
我正试图打印一个包含两个表的jpanel,但问题是这些表的宽度比显示在其中的页面要大。有没有办法使表格适合页面宽度,或者我应该对表格本身进行大小调整 以下是我所做的:Java 打印两张表格,java,Java,我正试图打印一个包含两个表的jpanel,但问题是这些表的宽度比显示在其中的页面要大。有没有办法使表格适合页面宽度,或者我应该对表格本身进行大小调整 以下是我所做的: PrinterJob job = PrinterJob.getPrinterJob(); job.setJobName("test"); job.setPrintable (new Printable() { @Override public int print(Graphics pg, P
PrinterJob job = PrinterJob.getPrinterJob();
job.setJobName("test");
job.setPrintable (new Printable() {
@Override
public int print(Graphics pg, PageFormat pf, int pageNum) throws PrinterException{
if (pageNum > 0){
return Printable.NO_SUCH_PAGE;
}
Graphics2D g2 = (Graphics2D) pg;
g2.translate(pf.getImageableX(), pf.getImageableY());
jPanel1.print(g2);
// jTable1.print(JTable.PrintMode.FIT_WIDTH, null, null);
return Printable.PAGE_EXISTS;
}
});
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
} catch (PrinterException ex) {
}
}
一种解决方案是使用报表实用程序,因为通常这样更容易创建打印机输出,而且它们通常看起来更漂亮,因为这正是它们构建的目的。@hoverskifulofeels使用报表实用程序是什么意思???你的意思是使用jasper report???是的,这正是我的意思。我不认为Swing组件是为了清晰或容易地打印而构建的,而是为了在屏幕上显示数据而构建的。在上面的例子中,我们可以看到,为了使数据能够用Swing干净地打印出来,您必须跳出许多障碍。@HovercraftFullOfEels我尝试使用jasper reports,但不幸的是,出现了同样的问题,即我无法在同一个报告上打印两个表