在Java中调用JTable.print()时,是否可以设置左右边距的大小?
我正在尝试使用table.print()方法将JTable的内容打印到打印机上: 我的问题是,是否可以在可打印区域上设置左右边距的大小 不必在打印对话框上手动设置纸张的 非常感谢你的帮助 假设使用“非手动”设置它们,您的意思是在不显示打印对话框的情况下以编程方式设置它们:您可以在PrinterJob返回的纸张中设置它们,然后直接启动作业在Java中调用JTable.print()时,是否可以设置左右边距的大小?,java,swing,printing,jtable,Java,Swing,Printing,Jtable,我正在尝试使用table.print()方法将JTable的内容打印到打印机上: 我的问题是,是否可以在可打印区域上设置左右边距的大小 不必在打印对话框上手动设置纸张的 非常感谢你的帮助 假设使用“非手动”设置它们,您的意思是在不显示打印对话框的情况下以编程方式设置它们:您可以在PrinterJob返回的纸张中设置它们,然后直接启动作业 PrinterJob job = PrinterJob.getPrinterJob(); PageFormat pf = job.defaultPage();
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat pf = job.defaultPage();
Paper paper = pf.getPaper();
double margin = 20.;
paper.setImageableArea(margin,
paper.getImageableY(),
paper.getWidth() - 2* margin, paper.getImageableHeight());
pf.setPaper(paper);
job.setPrintable(table.getPrintable(JTable.PrintMode.FIT_WIDTH, null, null),
job.validatePage(pf));
job.print();
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat pf = job.defaultPage();
Paper paper = pf.getPaper();
double margin = 20.;
paper.setImageableArea(margin,
paper.getImageableY(),
paper.getWidth() - 2* margin, paper.getImageableHeight());
pf.setPaper(paper);
job.setPrintable(table.getPrintable(JTable.PrintMode.FIT_WIDTH, null, null),
job.validatePage(pf));
job.print();