这些Java教程是针对JDK 8编写的。本页中描述的示例和实践不利用后续版本中引入的改进,并且可能使用不再可用的技术。
请参阅Java语言更改以了解Java SE 9及后续版本中更新的语言功能的摘要。
请参阅JDK发行说明以获取有关所有JDK版本的新功能、增强功能以及已删除或弃用选项的信息。
传统上,用户希望看到页面设置和打印对话框。从打印对话框中,您可以选择打印机,指定要打印的页面,并设置打印份数。
当用户按下与打印命令相关的按钮或选择打印菜单项时,应用程序会显示打印对话框。要显示此对话框,请调用printDialog
方法,该方法位于PrinterJob
类中:
PrinterJob pj = PrinterJob.getPrinterJob(); ... if (pj.printDialog()) { try {pj.print();} catch (PrinterException exc) { System.out.println(exc); } } ...
如果用户单击“确定”按钮离开对话框,则此方法返回true
;否则返回false
。对话框中的用户选择受到已设置为PrinterJob
的页面数量和格式的限制。
上述代码片段中的printDialog
方法打开本地打印对话框。代码示例PrintDialogExample.java
展示了如何显示跨平台的打印对话框。
您可以通过使用页面设置对话框更改包含在PageFormat
对象中的页面设置信息。
要显示页面设置对话框,请调用PrinterJob
类的pageDialog
方法。
PrinterJob pj = PrinterJob.getPrinterJob(); PageFormat pf = pj.pageDialog(pj.defaultPage());
页面设置对话框使用传递给pageDialog
的参数进行初始化。如果用户在对话框中单击“确定”按钮,则将根据用户的选择创建PageFormat
实例,然后返回该实例。如果用户取消对话框,则pageDialog
返回未更改的原始PageFormat
。
通常,Java 2D打印API要求应用程序显示打印对话框,但有时可以在不显示任何对话框的情况下进行打印。这种类型的打印称为静默打印。在特定情况下,例如需要打印特定数据库的每周报告时,这可能很有用。在其他情况下,始终建议在打印过程开始时通知用户。