Класс ServiceUIFactory

public abstract class ServiceUIFactory
extends Object

Сервисы могут по желанию предоставлять интерфейсы пользователя (UI), которые позволяют использовать различные стили взаимодействия в разных ролях. Одна роль может быть просмотром конечным пользователем и настройкой параметров печати. Другая роль может быть администрированием службы печати.

Хотя API службы печати в настоящее время не предоставляет стандартизированной поддержки администрирования службы печати, мониторинг службы печати возможен, и UI может предоставлять механизмы частных обновлений.

Основной замысел состоит в том, чтобы позволить приложениям лениво находить и инициализировать службы только при необходимости без каких-либо зависимостей от API, кроме как в среде, в которой они используются.

Предпочтение отдается UI на основе Swing, так как они обеспечивают более согласованный вид и могут поддерживать 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

Обозначает UI, выполняющий информационную роль «О программе».

static int ADMIN_UIROLE

Обозначает UI, выполняющий административную роль.

static String DIALOG_UI

Обозначает UI, реализованный в виде диалогового окна AWT.

static String JCOMPONENT_UI

Обозначает UI, реализованный как компонент Swing.

static String JDIALOG_UI

Обозначает UI, реализованный как диалоговое окно Swing.

static int MAIN_UIROLE

Обозначает UI, выполняющий обычную роль конечного пользователя.

static String PANEL_UI

Обозначает UI, реализованный как панель AWT.

static int RESERVED_UIROLE

Не является допустимой ролью, но идентификаторы ролей, большие чем эта, могут использоваться для частных ролей, поддерживаемых сервисом.

Краткое описание конструкторов

Конструктор Описание
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

Обозначает UI, реализованный как компонент Swing. Значение строки — полное имя класса: "javax.swing.JComponent".

См. также:
Постоянные значения поля

PANEL_UI

public static final String PANEL_UI

Обозначает UI, реализованный как панель AWT. Значение строки — полное имя класса: "java.awt.Panel"

См. также:
Постоянные значения поля

DIALOG_UI

public static final String DIALOG_UI

Обозначает UI, реализованный в виде диалогового окна AWT. Значение строки — полное имя класса: "java.awt.Dialog"

См. также:
Постоянные значения поля

JDIALOG_UI

public static final String JDIALOG_UI

Обозначает UI, реализованный как диалоговое окно Swing. Значение строки — полное имя класса: "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

Не является допустимой ролью, но идентификаторы ролей, большие чем эта, могут использоваться для частных ролей, поддерживаемых сервисом. Необходимо знать выполняемую функцию этой роли для её правильного использования.

См. также:
Постоянные значения поля

Подробное описание конструкторов

ServiceUIFactory

public 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, поддерживаемые этим классом для указанной роли, null если UI недоступны для роли
Исключения:
IllegalArgumentException - если роль является нестандартной ролью, не поддерживаемой этим фабричным объектом

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/print/ServiceUIFactory.html

Spec-Zone .ru
спецификации, руководства, описания, API