Spec-Zone.ru › OpenJDK 24

Класс ServiceUI

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

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

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

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

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

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

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

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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

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 пустой или пустой, или attributes не определено, или начальная PrintService не находится в списке просматриваемых служб

Отправить сообщение об ошибке или предложить улучшение
Для дополнительной справки по API и документации для разработчиков см. документацию Java SE, которая содержит более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, решениями проблем и примерами рабочего кода. Другие версии.
Java является торговой маркой или зарегистрированной торговой маркой Oracle и/или её дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование подчинено лицензионным условиям и политике перераспределения документации.
DRAFT 24-ea+36-Debian-1

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/print/ServiceUI.html

Spec-Zone.ru

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