Spec-Zone.ru › OpenJDK 8

Класс ServiceUI

  • java.lang.Object
    • javax.print.ServiceUI

public class ServiceUI
extends Object

Этот класс представляет собой набор удобных методов пользовательского интерфейса, которые предоставляют графический диалог для просмотра служб печати, найденных с помощью API Java Print Service.

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

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

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

Конструкторы

Конструктор и описание
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()

Методы

printDialog

public static PrintService printDialog(GraphicsConfiguration gc,
                                       int x,
                                       int y,
                                       PrintService[] services,
                                       PrintService defaultService,
                                       DocFlavor flavor,
                                       PrintRequestAttributeSet attributes)
                                throws HeadlessException

Представляет пользователю диалог для выбора службы печати (принтера). Он отображается в заданном приложением месте и является модальным. Если спецификация некорректна или сделает диалог невидимым, он будет отображён в месте, определённом реализацией. Диалог блокирует свою вызывающую нить и является модальным для приложения.

Диалог может включать панель вкладок с настраиваемым пользовательским интерфейсом, полученным ленивым образом из ServiceUIFactory службы печати при просмотре службы печати. Диалог сначала попытается найти MAIN_UIROLE как JComponent, а затем как Panel. Если нет ServiceUIFactory или нет соответствующей роли, пользовательский вкладка будет пустой или невидимой.

Диалог возвращает выбранную пользователем службу печати, если пользователь нажимает OK, и null, если пользователь отменяет диалог.

Приложение должно передать массив служб печати для просмотра. Массив должен быть не null и не пустым. Обычно приложение передаёт только PrintServices, способные печатать определённый тип документа.

Приложение может передать PrintService, который нужно отобразить первоначально. В массиве просматриваемых служб должен быть указан не null параметр. Если этот параметр null, служба выбирается реализацией.

Приложение может необязательно передать тип документа, который нужно напечатать. Если он не 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 - положение диалога, включая границу в координатах экрана
y - положение диалога, включая границу в координатах экрана
services - для просмотра, должен быть не null.
defaultService - - начальная PrintService для отображения.
flavor - - тип документа для печати, или null.
attributes - на вход — первоначальные настройки, предоставленные приложением. Он не может быть null, но может быть пустым. На выходе атрибуты отражают изменения, внесённые пользователем.
Возвращает:
выбранная пользователем служба печати или null, если пользователь отменил диалог.
Исключение:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true.
IllegalArgumentException - если services null или пустой, или attributes null, или начальная PrintService не в списке просматриваемых служб.

© 1993, 2020, 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.

Spec-Zone.ru

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