Spec-Zone.ru › OpenJDK 27

Класс ServiceUIFactory

java.lang.Object
javax.print.ServiceUIFactory
public abstract class ServiceUIFactory extends Object
Службы могут при необходимости предоставлять пользовательские интерфейсы, которые позволяют взаимодействовать с ними по-разному в зависимости от роли. Одна из ролей — просмотр и настройка параметров печати конечным пользователем. Другая роль — администрирование службы печати.

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

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

Предпочтительны пользовательские интерфейсы 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
Обозначает пользовательский интерфейс, выполняющий информационную роль «О программе».
static final int ADMIN_UIROLE
Обозначает пользовательский интерфейс, выполняющий административную роль.
static final String DIALOG_UI
Обозначает пользовательский интерфейс, реализованный в виде диалогового окна AWT.
static final String JCOMPONENT_UI
Обозначает пользовательский интерфейс, реализованный в виде компонента Swing.
static final String JDIALOG_UI
Обозначает пользовательский интерфейс, реализованный в виде диалогового окна Swing.
static final int MAIN_UIROLE
Обозначает пользовательский интерфейс, выполняющий стандартную роль конечного пользователя.
static final String PANEL_UI
Обозначает пользовательский интерфейс, реализованный в виде панели AWT.
static final int RESERVED_UIROLE
Не является допустимой ролью, однако идентификаторы ролей, превышающие это значение, могут использоваться для частных ролей, поддерживаемых службой.

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

ServiceUIFactory()
Модификатор Конструктор Описание
protected
Конструктор, предназначенный для вызова подклассами.

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

Модификатор и тип Метод Описание
abstract Object getUI(int role, String ui)
Получает объект пользовательского интерфейса, который приложение может привести к запрошенному типу и использовать в своем пользовательском интерфейсе.
abstract String[] getUIClassNamesForRole(int role)
Получает типы пользовательского интерфейса, доступные в этой фабрике и реализующие указанную роль пользовательского интерфейса.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка времени.

Подробное описание полей

JCOMPONENT_UI

public static final String JCOMPONENT_UI
Обозначает пользовательский интерфейс, реализованный в виде компонента Swing. Значение строки — полное имя класса: "javax.swing.JComponent".
См. также:
  • Значения константных полей

PANEL_UI

public static final String PANEL_UI
Обозначает пользовательский интерфейс, реализованный в виде панели AWT. Значение строки — полное имя класса: "java.awt.Panel"
См. также:
  • Значения константных полей

DIALOG_UI

public static final String DIALOG_UI
Обозначает пользовательский интерфейс, реализованный в виде диалогового окна AWT. Значение строки — полное имя класса: "java.awt.Dialog"
См. также:
  • Значения константных полей

JDIALOG_UI

public static final String JDIALOG_UI
Обозначает пользовательский интерфейс, реализованный в виде диалогового окна Swing. Значение строки — полное имя класса: "javax.swing.JDialog"
См. также:
  • Значения константных полей

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 — тип, для которого запрашивается роль
Возвращает:
пользовательский интерфейс для этой роли или null, если запрошенная роль недоступна в этой фабрике
Выбрасывает:
IllegalArgumentException — если роль или пользовательский интерфейс не относится к стандартным и не является частным, поддерживаемым фабрикой

getUIClassNamesForRole

public abstract String[] getUIClassNamesForRole(int role)
Получает типы пользовательского интерфейса, доступные в этой фабрике и реализующие указанную роль пользовательского интерфейса. Возвращаемый Strings должен ссылаться на статические переменные, определенные в этом классе, чтобы приложения могли сравнивать ссылки на равенство ("==").
Параметры:
role — роль для поиска
Возвращает:
типы пользовательского интерфейса, поддерживаемые этим классом для указанной роли, null, если для этой роли нет доступных пользовательских интерфейсов
Выбрасывает:
IllegalArgumentException — если роль является нестандартной и не поддерживается этой фабрикой

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API