Класс ServiceUIFactory
- java.lang.Object
-
- javax.print.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