这些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要求应用程序显示打印对话框,但有时可以在不显示任何对话框的情况下进行打印。这种类型的打印称为静默打印。在特定情况下,例如需要打印特定数据库的每周报告时,这可能很有用。在其他情况下,始终建议在打印过程开始时通知用户。