Spec-Zone.ru › OpenJDK 21

Класс 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)
Представляет диалог пользователю для выбора службы печати (принтера).

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

© 1993, 2023, 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/21/docs/api/java.desktop/javax/print/ServiceUI.html

Spec-Zone.ru

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