Spec-Zone.ru › OpenJDK 17

Класс 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, 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

Spec-Zone.ru

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