Spec-Zone.ru › OpenJDK 27

Класс ServiceUI

java.lang.Object
javax.print.ServiceUI
public class ServiceUI extends Object
Этот класс представляет собой набор вспомогательных методов пользовательского интерфейса, которые предоставляют графический диалог для просмотра служб печати, найденных с помощью API Java Print Service.

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

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

Если служба печати предоставляет расширения поставщика, они могут быть доступны пользователю на панели вкладок, предоставленной поставщиком Component. Рекомендуется реализовывать такие расширения поставщика с помощью Swing! и поддерживать API специальных возможностей. Расширения поставщика должны возвращать настройки как часть AttributeSet. Приложениям, которым необходимо сохранять настройки пользователя, следует использовать эти настройки для задания задания печати. Обратите внимание, что на этот класс нет ссылок из других частей Java Print Service, и он может отсутствовать в профилях, которые не могут зависеть от наличия пакетов AWT.

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

Конструктор Описание
ServiceUI()
Создает ServiceUI.

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

Модификатор и тип Метод Описание
static PrintService printDialog(GraphicsConfiguration gc, int x, int y, PrintService[] services, PrintService defaultService, DocFlavor flavor, PrintRequestAttributeSet attributes)
Отображает диалоговое окно, в котором пользователь может выбрать службу печати (принтер).

Методы, объявленные в классе 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, либо до истечения заданного времени.

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

ServiceUI

public ServiceUI()
Создает ServiceUI.

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

printDialog

public static PrintService printDialog(GraphicsConfiguration gc, int x, int y, PrintService[] services, PrintService defaultService, DocFlavor flavor, PrintRequestAttributeSet attributes) throws HeadlessException
Отображает диалоговое окно, в котором пользователь может выбрать службу печати (принтер). Оно отображается в указанном приложением месте и является модальным. Если заданные координаты недопустимы или из-за них диалоговое окно не будет видно, оно будет отображено в месте, определенном реализацией. Диалоговое окно блокирует вызвавший его поток и является модальным для приложения.

Диалоговое окно может содержать панель вкладок с пользовательским интерфейсом, получаемым по запросу из PrintService's ServiceUIFactory при просмотре PrintService. Сначала диалоговое окно попытается найти MAIN_UIROLE в роли JComponent, а затем в роли Panel. Если ServiceUIFactory отсутствует или не найдена подходящая роль, пользовательская вкладка будет пустой или невидимой.

Диалоговое окно возвращает выбранную пользователем службу печати, если пользователь нажимает «ОК», и null, если пользователь отменяет диалоговое окно.

Приложение должно передать массив служб печати для просмотра. Массив должен быть non-null и непустым. Обычно приложение передает только PrintServices, способные печатать документ заданного формата.

Приложение может передать PrintService для первоначального отображения. Параметр non-null должен входить в массив доступных для просмотра служб. Если этот параметр равен null, реализация выбирает службу самостоятельно.

При необходимости приложение может передать формат документа для печати. Если он равен non-null, варианты, предлагаемые пользователю, можно точнее проверить на соответствие форматам, поддерживаемым службами. Приложение должно передать PrintRequestAttributeSet для возврата вариантов пользователя. При вызове PrintRequestAttributeSet может быть пустым или содержать значения, заданные приложением.

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

Если пользователь отменяет диалоговое окно, возвращенные атрибуты не будут отражать внесенные пользователем изменения.

Пример простого использования этого метода:

PrintService[] services = PrintServiceLookup.lookupPrintServices(
                           DocFlavor.INPUT_STREAM.JPEG, null);
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
if (services.length > 0) {
   PrintService service =  ServiceUI.printDialog(null, 50, 50,
                                              services, services[0],
                                              null,
                                              attributes);
   if (service != null) {
    ... print ...
   }
}
Параметры:
gc — используется для выбора экрана; null означает основной экран или экран по умолчанию
x — координата диалогового окна, включая рамку, в экранных координатах относительно начала координат gc
y — координата диалогового окна, включая рамку, в экранных координатах относительно начала координат gc
services — доступные для просмотра; должны быть non-null
defaultService — начальный PrintService для отображения
flavor — формат документа для печати или null
attributes — при вводе содержит начальные настройки, предоставленные приложением. Не может быть null, но может быть пустым. При выводе атрибуты отражают изменения, внесенные пользователем.
Возвращает:
службу печати, выбранную пользователем, или null, если пользователь отменил диалоговое окно
Исключения:
HeadlessException — если GraphicsEnvironment.isHeadless() возвращает true
IllegalArgumentException — если services равен null или пуст, attributes равен null либо начальный PrintService отсутствует в списке доступных для просмотра служб

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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