使用打印设置对话框

传统上,用户希望查看页面设置和打印对话框。在打印对话框中,您可以选择打印机,指定要打印的页面并设置份数。

此图代表打印对话框

当用户按下与打印命令相关的按钮或从打印菜单中选择一个项目时,应用程序将显示一个打印对话框。要显示此对话框,请调用PrinterJob类的printDialog方法:

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 需要一个应用程序来显示打印对话框,但有时甚至可以在不显示任何对话框的情况下进行打印。这种打印称为静音打印。在某些特定情况下,例如当您需要打印特定的数据库每周报告时,它可能很有用。在其他情况下,总是建议在打印过程开始时通知用户。