Module java.desktop
Package javax.print

Class ServiceUIFactory

java.lang.Object
javax.print.ServiceUIFactory

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

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

基本设计意图是允许应用程序在需要时才懒惰地定位和初始化服务,而不需要任何API依赖,除非在使用它们的环境中。

首选使用Swing UI,因为它们提供更一致的外观和感觉,并且可以支持辅助功能API。

示例用法:

  ServiceUIFactory factory = printService.getServiceUIFactory();
  if (factory != null) {
      JComponent swingui = (JComponent)factory.getUI(
                                         ServiceUIFactory.MAIN_UIROLE,
                                         ServiceUIFactory.JCOMPONENT_UI);
      if (swingui != null) {
          tabbedpane.add("自定义UI", swingui);
      }
  }
 
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    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来支持服务支持的私有角色。
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    子类调用的构造函数。
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract Object
    getUI(int role, String ui)
    获取一个UI对象,应用程序可以将其转换为请求的UI类型并在其用户界面中使用。
    abstract String[]
    给定从此工厂获取的UI角色,获取此工厂可用的实现此角色的UI类型。

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • 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来支持服务支持的私有角色。需要了解此角色执行的功能才能正确使用它。
      参见:
  • Constructor Details

    • ServiceUIFactory

      protected ServiceUIFactory()
      子类调用的构造函数。
  • Method Details

    • 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 - 如果角色是此工厂不支持的非标准角色