我在下面的课程中有一个print
方法:
public void print(EditorPanePrinter epp) {
try {
PrinterJob pj=PrinterJob.getPrinterJob();
boolean ok = pj.printDialog();
if(ok) {
pj.setPageable(epp);
pj.print();
}
} catch (PrinterException e1) {
e1.printStackTrace();
}
}
EditorPanePrinter
是JEditorPane
,其中包含JPanel
的打印预览。有关详细信息,请参阅here。
从显示的打印对话框中单击“确定”后,将从打印机正确打印页面。
对于超过1页,特别是要打印多页,我想显示打印页面的对话框:即第一页打印时“打印第1页,共100页”,“打印第2页,共100页”当第二页正在打印时,依此类推。
我到处搜寻,但没有找到解决办法。怎么做?
如果您需要更多信息,请告诉我。
答案 0 :(得分:1)
Pageable
由Printable
组成,当每个Printable
被调用时,它会传递系统正在尝试打印的pageIndex
,可以使用,例如,要在输出中打印页码...
有关详细信息,请参阅Printable
。
根据您要打印的框架,您可能希望在SwingWorker
内执行此操作,并使用publish
/ process
功能更改活动页码。有关详细信息,请参阅Worker Threads and SwingWorker