Класс 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— если services равенnullили пуст, attributes равенnullлибо исходныйPrintServiceотсутствует в списке доступных для просмотра служб
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/print/ServiceUI.html