javax.print

接口
异常
java.lang.Object
  继承者 javax.print.ServiceUIFactory

public abstract class ServiceUIFactory
     
extends Object

服务可以可选地提供 UI,这些 UI 允许以不同的角色进行不同风格的交互。一种角色可以是浏览并设置打印选项的终端用户。另一种角色可以是管理 PrintService。

虽然 PrintService API 目前不提供对管理 PrintService 的标准化支持,但是可以监视 PrintService 并且可以为专用的更新机制提供 UI。

基本的设计目的是允许应用程序仅在需要时以延迟方式查找并初始化服务,而不依赖任何 API(但使用 API 的环境除外)。

首选使用 Swing UI,因为它提供了更为一致的 L&F 并且可支持可访问性 API。

用例:

  ServiceUIFactory factory = printService.getServiceUIFactory();
  if (factory != null) {
      JComponent swingui = (JComponent)factory.getUI(
                                         ServiceUIFactory.MAIN_UIROLE,
                                         ServiceUIFactory.JCOMPONENT_UI);
      if (swingui != null) {
          tabbedpane.add("Custom UI", swingui);
      }
  }
 


字段摘要
static int ABOUT_UIROLE
          表示一个充当提供 "About" 信息角色的 UI。
static int ADMIN_UIROLE
          表示一个充当管理角色的 UI。
static String DIALOG_UI
          表示一个作为 AWT 对话框实现的 UI。
static String JCOMPONENT_UI
          表示一个作为 Swing 组件实现的 UI。
static String JDIALOG_UI
          表示一个作为 Swing 对话框实现的 UI。
static int MAIN_UIROLE
          表示一个充当普通终端用户角色的 UI。
static String PANEL_UI
          表示一个作为 AWT 面板实现的 UI。
static int RESERVED_UIROLE
          不是有效的角色,但是可将大于此的角色 ID 用于服务支持的专用角色。
 
构造方法摘要
ServiceUIFactory()
           
 
方法摘要
abstract  Object getUI(int role, String ui)
          获得一个 UI 对象,它可能被应用程序强制转换为所请求的 UI 类型并在该应用程序的用户界面中使用。
abstract  String[] getUIClassNamesForRole(int role)
          给定从此工厂获取的 UI 角色,获取实现此角色的此工厂可提供的 UI 类型。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

JCOMPONENT_UI

public static final String JCOMPONENT_UI
表示一个作为 Swing 组件实现的 UI。String 的值是完全限定类名:"javax.swing.JComponent"。

另请参见:
常量字段值

PANEL_UI

public static final String PANEL_UI
表示一个作为 AWT 面板实现的 UI。String 的值是完全限定类名:"java.awt.Panel"。

另请参见:
常量字段值

DIALOG_UI

public static final String DIALOG_UI
表示一个作为 AWT 对话框实现的 UI。String 的值是完全限定类名:"java.awt.Dialog"。

另请参见:
常量字段值

JDIALOG_UI

public static final String JDIALOG_UI
表示一个作为 Swing 对话框实现的 UI。String 的值是完全限定类名:"javax.swing.JDialog"。

另请参见:
常量字段值

ABOUT_UIROLE

public static final int ABOUT_UIROLE
表示一个充当提供 "About" 信息角色的 UI。

另请参见:
常量字段值

ADMIN_UIROLE

public static final int ADMIN_UIROLE
表示一个充当管理角色的 UI。

另请参见:
常量字段值

MAIN_UIROLE

public static final int MAIN_UIROLE
表示一个充当普通终端用户角色的 UI。

另请参见:
常量字段值

RESERVED_UIROLE

public static final int RESERVED_UIROLE
不是有效的角色,但是可将大于此的角色 ID 用于服务支持的专用角色。要正确使用它,需要知道此角色所执行的功能。

另请参见:
常量字段值
构造方法详细信息

ServiceUIFactory

public ServiceUIFactory()
方法详细信息

getUI

public abstract Object getUI(int role,
                             String ui)
获得一个 UI 对象,它可能被应用程序强制转换为所请求的 UI 类型并在该应用程序的用户界面中使用。

参数:
role - 所请求的角色。必须是此工厂支持的标准角色或某个专用角色。
ui - 所请求的角色的类型。
返回:
UI 角色,如果此工厂不提供所请求的 UI 角色,则返回 null
抛出:
IllegalArgumentException - 如果 role 或 ui 既不是标准的角色或 UI,也不是该工厂支持的专用角色或 UI。

getUIClassNamesForRole

public abstract String[] getUIClassNamesForRole(int role)
给定从此工厂获取的 UI 角色,获取实现此角色的此工厂可提供的 UI 类型。返回的 String 应该引用此类中定义的静态变量,这样应用程序可以使用引用相等性 ("==")。

参数:
role - 要被查找的角色。
返回:
此类为指定角色所支持的 UI 类型,如果没有用于此角色的 UI,则返回 null。
抛出:
IllegalArgumentException - 如果该 role 是非标准的角色,或者此工厂不支持该 role。