Класс ServiceUI
public class ServiceUI extends Object
Диалоги следуют стандартной схеме, предоставляя пользователю возможность продолжить/отменить действие, а также выбирать службу печати и указывать параметры, такие как размер бумаги и количество копий.
Диалоги разработаны для работы с подключаемыми службами печати через публичные API этих служб.
Если служба печати предоставляет какие-либо расширения поставщика, они могут быть доступны пользователю через панель вкладок, предоставленную поставщиком Component. Такие расширения поставщика рекомендуется создавать с использованием Swing! и поддерживать его API доступности. Расширения поставщика должны возвращать настройки в составе AttributeSet. Приложения, которые хотят сохранить настройки пользователя, должны использовать эти настройки для задания задания печати. Обратите внимание, что этот класс не используется другими частями Java Print Service и может отсутствовать в профилях, которые не могут зависеть от наличия пакетов AWT.
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ServiceUI() |
Создаёт ServiceUI. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static PrintService |
printDialog |
Отображает диалог для пользователя, чтобы выбрать службу печати (принтер). |
Подробное описание конструкторов
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- если servicesnullили пустой, или attributesnull, или начальнаяPrintServiceне в списке просматриваемых служб
© 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/ServiceUI.html