Класс ServiceUIFactory
public abstract class ServiceUIFactory extends Object
Хотя 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 final int |
ABOUT_UIROLE |
Обозначает UI, выполняющий роль «О программе». |
static final int |
ADMIN_UIROLE |
Обозначает UI, выполняющий административную роль. |
static final String |
DIALOG_UI |
Обозначает UI, реализованный как диалоговое окно AWT. |
static final String |
JCOMPONENT_UI |
Обозначает UI, реализованный как компонент Swing. |
static final String |
JDIALOG_UI |
Обозначает UI, реализованный как диалоговое окно Swing. |
static final int |
MAIN_UIROLE |
Обозначает UI, выполняющий обычную роль конечного пользователя. |
static final String |
PANEL_UI |
Обозначает UI, реализованный как панель AWT. |
static final int |
RESERVED_UIROLE |
Не является допустимой ролью, но идентификаторы ролей, большие чем это значение, могут использоваться для частных ролей, поддерживаемых сервисом. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Object |
getUI |
Получение объекта UI, который может быть приведён к нужному типу UI приложением и использован в его пользовательском интерфейсе. |
abstract String[] |
getUIClassNamesForRole |
При заданной роли UI, полученной от этого фабричного объекта, получение типов UI, доступных от этого фабричного объекта, которые реализуют эту роль. |
Подробное описание полей
JCOMPONENT_UI
public static final String JCOMPONENT_UI
- См. также:
PANEL_UI
public static final String PANEL_UI
- См. также:
DIALOG_UI
public static final String DIALOG_UI
- См. также:
JDIALOG_UI
public static final String JDIALOG_UI
- См. также:
ABOUT_UIROLE
public static final int ABOUT_UIROLE
- См. также:
ADMIN_UIROLE
public static final int ADMIN_UIROLE
- См. также:
MAIN_UIROLE
public static final int MAIN_UIROLE
- См. также:
RESERVED_UIROLE
public static final int RESERVED_UIROLE
- См. также:
Подробное описание конструкторов
ServiceUIFactory
protected ServiceUIFactory()
Подробное описание методов
getUI
public abstract Object getUI(int role, String ui)
- Параметры:
-
role- запрашиваемый. Должен быть одной из стандартных ролей или частной ролью, поддерживаемой этим фабричным объектом. -
ui- тип, в котором запрашивается роль - Возвращает:
- роль UI или
nullесли запрашиваемая роль UI недоступна от этого фабричного объекта - Исключения:
-
IllegalArgumentException- если роль или UI не являются ни одной из стандартных, ни частной, поддерживаемой фабрикой
getUIClassNamesForRole
public abstract String[] getUIClassNamesForRole(int role)
Strings должны ссылаться на статические переменные, определённые в этом классе, чтобы приложения могли использовать равенство ссылок ("==").- Параметры:
-
role- для поиска - Возвращает:
- типы UI, поддерживаемые этим классом для заданной роли,
nullесли UI недоступны для роли - Исключения:
-
IllegalArgumentException- если роль является нестандартной ролью, не поддерживаемой этим фабричным объектом
© 1993, 2021, 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/17/docs/api/java.desktop/javax/print/ServiceUIFactory.html