java.lang.Object javax.print.ServiceUI
public class ServiceUI
此类是各种 UI 便捷方法的集合,这些方法为浏览那些通过 Java Print Service API 所查找的 PrintService 提供了图形用户对话框。
该对话框遵从标准的模式,为用户提供继续/取消的选项,以及允许用户选择要使用并指定各种选择(如纸张大小和份数)的 PrintService。
该对话框设计成通过可插入 PrintService 的公共 API 来与这些服务一同使用。
如果 PrintService 提供了任意的供应商扩展,则用户可通过供应商提供的选项卡窗格 Component 来访问这些扩展。鼓励这种供应商扩展使用 Swing! 并支持其可访问性 API。供应商扩展应该返回作为 AttributeSet 一部分的设置。希望保持用户设置的应用程序应该使用这些设置来指定打印作业。注意,Java 打印服务的所有其他部分都不引用此类,并且不包括在与 AWT 包的存在无关的配置文件中。
构造方法摘要 | |
---|---|
ServiceUI() |
方法摘要 | |
---|---|
static PrintService |
printDialog(GraphicsConfiguration gc, int x, int y, PrintService[] services, PrintService defaultService, DocFlavor flavor, PrintRequestAttributeSet attributes) 为用户提供一个选择 PrintService(打印机)的对话框。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public ServiceUI()
方法详细信息 |
---|
public static PrintService printDialog(GraphicsConfiguration gc, int x, int y, PrintService[] services, PrintService defaultService, DocFlavor flavor, PrintRequestAttributeSet attributes) throws HeadlessException
该对话框可以包括一个选项卡窗格,该窗格具有在浏览 PrintService 时,可以延迟方式从 PrintService 的 ServiceUIFactory 所获得的自定义 UI。对话框会首先试图查找一个作为 JComponent 的 MAIN_UIROLE,然后查找作为 Panel 的 MAIN_UIROLE。如果没有 ServiceUIFactory 或没有相符的角色,则自定义选项卡将为空或不可见。
如果用户“确定”了该对话框,则对话框返回用户选择的 PrintService,如果用户“取消”了该对话框,则返回 null。
应用程序必须传递要浏览的 PrintService 的数组。该数组必须是非 null 和非空的。通常应用程序只传递能够打印特定 doc flavor 的 PrintService。
应用程序可以传递最初显示的 PrintService。可浏览服务的数组中必须包括非 null 参数。如果此参数为 null,则由实现选择某个服务。
可选地,应用程序可以传递要打印的 flavor。如果这是呈现给用户的非 mull 选择,则可针对该服务所支持的 flavor 更好地验证该选择。应用程序必须为返回的用户选择传递 PrintRequestAttributeSet。所调用的 PrintRequestAttributeSet 可以为空,或者可包含特定于应用程序的值。
这些内容用于为最初显示的 PrintService 设置初始设置。忽略那些 PrintService 不支持的值。在用户浏览 PrintService 时,将属性和值复制到新的显示内容。如果用户浏览的 PrintService 不支持特定的属性-值,则将该服务的默认值用作要复制的新值。
如果用户取消了对话框,则返回的属性将不会反映用户进行的任何更改。 此方法的典型基本用法是:
PrintService[] services = PrintServiceLookup.lookupPrintServices( DocFlavor.INPUT_STREAM.JPEG, null); PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet(); if (services.length > 0) { PrintService service = ServiceUI.printDialog(null, 50, 50, services, services[0], null, attributes); if (service != null) { ... print ... } }
gc
- 用于选择屏幕。null 意味着主屏幕或默认屏幕。
x
- 对话框在屏幕坐标中的位置,包括边框
y
- 对话框在屏幕坐标中的位置,包括边框
services
- 可浏览的服务,必须不为 null。
defaultService
- 要显示的初始 PrintService。
flavor
- 要打印的 flavor,或者为 null。
attributes
- 输入时为应用程序最初提供的首选项。这不能为 null,但可以为空。输出时为反映用户所作的更改的属性。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。
IllegalArgumentException
- 如果 services 为 null 或为空,或者 attributes 为 null,或者初始的 PrintService 未在可浏览服务的列表中。