模块  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。 字符串的值是完全限定的类名:“javax.swing.JComponent”。
        另请参见:
        常数字段值
      • PANEL_UI

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

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

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

        public static final int ABOUT_UIROLE
        表示执行信息性“关于”角色的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 - 如果角色或ui既不是标准角色,也不是工厂支持的私有角色
      • getUIClassNamesForRole

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