Module  java.desktop
软件包  javax.print

Class ServiceUIFactory



  • public abstract class ServiceUIFactory
    extends Object
    服务可以可选地提供UI,其允许不同角色的不同风格的交互。 一个角色可能是最终用户浏览和设置打印选项。 另一个角色可能是管理打印服务。

    虽然Print Service API目前不提供管理打印服务的标准化支持,但是可以监视打印服务,并且UI可以提供私有更新机制。

    基本的设计意图是允许应用程序在需要的时候只需在没有任何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);
          }
      } 
    • 字段详细信息

      • JCOMPONENT_UI

        public static final String JCOMPONENT_UI
        表示实现为Swing组件的UI。 String的值是完全限定的类名:“javax.swing.JComponent”。
        另请参见:
        Constant Field Values
      • PANEL_UI

        public static final String PANEL_UI
        表示作为AWT面板实现的UI。 String的值是完全限定的类名:“java.awt.Panel”
        另请参见:
        Constant Field Values
      • DIALOG_UI

        public static final String DIALOG_UI
        表示实现为AWT对话框的UI。 String的值是完全限定的类名:“java.awt.Dialog”
        另请参见:
        Constant Field Values
      • JDIALOG_UI

        public static final String JDIALOG_UI
        表示实现为Swing对话框的UI。 String的值是完全限定的类名:“javax.swing.JDialog”
        另请参见:
        Constant Field Values
      • ABOUT_UIROLE

        public static final int ABOUT_UIROLE
        表示执行信息丰富的“关于”角色的UI。
        另请参见:
        Constant Field Values
      • ADMIN_UIROLE

        public static final int ADMIN_UIROLE
        表示执行管理角色的UI。
        另请参见:
        Constant Field Values
      • MAIN_UIROLE

        public static final int MAIN_UIROLE
        表示执行正常最终用户角色的UI。
        另请参见:
        Constant Field Values
      • RESERVED_UIROLE

        public static final int RESERVED_UIROLE
        不是有效的角色,但角色ID大于此可能用于服务支持的私有角色。 需要知道这个角色执行的功能才能正确使用它。
        另请参见:
        Constant Field Values
    • 构造方法详细信息

      • ServiceUIFactory

        public ServiceUIFactory​()
    • 方法详细信息

      • getUI

        public abstract Object getUI​(int role,
                                     String ui)
        获取UI对象,该对象可能被应用程序转换为请求的UI类型,并在其用户界面中使用。
        参数
        role - 已请求。 必须是此工厂支持的标准角色或私人角色之一。
        ui - 请求角色的类型。
        结果
        UI角色,如果请求的UI角色不可用于此工厂,则为null
        异常
        IllegalArgumentException - 如果角色或者用户既不是标准的,也不是工厂支持的私有的。
      • getUIClassNamesForRole

        public abstract String[] getUIClassNamesForRole​(int role)
        给定从这个工厂获得的UI角色,获取从这个工厂实现这个角色的UI类型。 返回的字符串应该引用此类中定义的静态变量,以便应用程序可以使用相等的引用(“==”)。
        参数
        role - 要查找。
        结果
        该类为指定角色支持的UI类型,如果没有可用于角色的UI,则为null。
        异常
        IllegalArgumentException - 作用是这个工厂不支持的非标准角色。