我正在尝试使用 table.print() 方法将 JTable 的内容打印到打印机:
boolean complete = table.print(JTable.PrintMode.FIT_WIDTH,header,null);
我的问题是,是否可以设置可打印区域左右边距的大小 无需在 PrintDialog 上手动设置纸张?
非常感谢您的帮助!
最佳答案
假设“不手动”设置它们是指以编程方式设置它们而不显示 PrintDialog:您可以在 PrinterJob 返回的纸张中设置它们,然后直接启 Action 业
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();
关于java - Java中调用JTable.print()时是否可以设置左右边距的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9724419/