模块 java.desktop

类 ServiceUIFactory

java.lang.Object
javax.print.ServiceUIFactory

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

尽管打印服务 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);
   }
 }
 
  • 字段摘要

    字段
    修饰符和类型
    Field
    描述
    static final int
    表示执行提供信息的“关于”角色的 UI。
    static final int
    表示执行管理角色的 UI。
    static final String
    表示作为 AWT 对话框实现的 UI。
    static final String
    表示作为 Swing 组件实现的 UI。
    static final String
    表示作为 Swing 对话框实现的 UI。
    static final int
    表示执行正常最终用户角色的 UI。
    static final String
    表示作为 AWT 面板实现的 UI。
    static final int
    不是有效角色,但角色 ID 大于此值可用于服务支持的私有角色。
  • 构造方法总结

    构造方法
    修饰符
    构造方法
    描述
    protected
    子类调用的构造方法。
  • 方法总结

    修饰符和类型
    方法
    描述
    abstract Object
    getUI(int role, String ui)
    获取一个 UI 对象,该对象可以由应用程序转换为请求的 UI 类型并在其用户界面中使用。
    abstract String[]
    给定从此工厂获得的 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。字符串的值是完全限定的类名:“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

      protected ServiceUIFactory()
      子类调用的构造方法。
  • 方法详情

    • getUI

      public abstract Object  getUI(int role, String  ui)
      获取一个 UI 对象,该对象可以由应用程序转换为请求的 UI 类型并在其用户界面中使用。
      参数:
      role - 请求。必须是标准角色之一或此工厂支持的私有角色。
      ui - 请求角色的类型
      返回:
      UI 角色或 null 如果所请求的 UI 角色无法从此工厂获得
      抛出:
      IllegalArgumentException - 如果角色或 ui 既不是标准角色,也不是工厂支持的私有角色
    • getUIClassNamesForRole

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