Интерфейс Printable
public interface Printable
Printable реализуется методами print текущего средства отрисовки страниц, которое вызывается системой печати для отображения страницы. При создании Pageable пары экземпляров PageFormat и экземпляров, реализующих этот интерфейс, используются для описания каждой страницы. Экземпляр, реализующий Printable, вызывается для печати графики страницы. Printable(..) можно задать для PrinterJob. Когда клиент впоследствии запускает печать, вызывая PrinterJob.print(..), управление
передаётся системе печати до тех пор, пока не будут напечатаны все страницы. Для этого она вызывает Printable.print(..), пока не будут напечатаны все страницы документа. Используя интерфейс Printable, печатающая сторона обязуется формировать изображение содержимого страницы каждый раз, когда этого запрашивает система печати.
Параметры Printable.print(..) включают PageFormat, описывающий область печати страницы, необходимый для вычисления содержимого, которое поместится на странице, а также индекс страницы, указывающий индекс запрошенной страницы в потоке печати, отсчитываемый от нуля.
Для корректной работы печати следует учитывать следующие моменты:
- Система печати может запрашивать один и тот же индекс страницы несколько раз. Каждый раз будут передаваться одинаковые параметры PageFormat.
- Система печати будет вызывать
Printable.print(..)с индексами страниц, монотонно возрастающими, однако, как отмечалось выше,Printableдолжен быть готов к многократным вызовам для одного индекса страницы, а также к тому, что некоторые индексы страниц могут быть пропущены, если клиент или пользователь указал диапазоны страниц в диалоговом окне печати. - Если запрошено несколько сортированных копий документа, а принтер не поддерживает такую печать самостоятельно, изображение документа может формироваться несколько раз. Печать каждой копии начинается со страницы с наименьшим индексом в потоке печати.
- За исключением повторного формирования изображения всего документа для нескольких сортированных копий, возрастающий порядок индексов страниц означает, что при запросе страницы N клиенту, которому необходимо вычислить положение разрыва страницы, можно безопасно отбросить любое состояние, связанное со страницами < N, и обновить его для страницы N. «Состояние» обычно представляет собой вычисленное положение в документе, соответствующее началу страницы.
- При вызове системой печати
Printableдолжен проверять и учитывать переданный параметр PageFormat, а также индекс страницы. Формат отображаемой страницы задаётся переданным PageFormat. Таким образом, размер страницы, её ориентация и область печати уже определены, и отображение должно выполняться в пределах этой области. Это необходимо для корректной работы печати и означает, что клиент отвечает за отслеживание того, какое содержимое относится к указанной странице. - Если
Printableполучен от предоставленного клиентомPageable, клиент может задавать разные значения PageFormat для каждого индекса страницы. При вычислении разрывов страниц это необходимо учитывать.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
NO_SUCH_PAGE |
Возвращается из print, чтобы указать, что pageIndex слишком велико и запрошенная страница не существует. |
static final int |
PAGE_EXISTS |
Возвращается из print(Graphics, PageFormat, int), чтобы указать, что запрошенная страница отображена. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
print |
Печатает страницу с указанным индексом в указанном контексте Graphics в заданном формате. |
Подробное описание полей
PAGE_EXISTS
static final int PAGE_EXISTS
print(Graphics, PageFormat, int), чтобы указать, что запрошенная страница отображена.- См. также:
NO_SUCH_PAGE
static final int NO_SUCH_PAGE
print, чтобы указать, что pageIndex слишком велико и запрошенная страница не существует.- См. также:
Подробное описание методов
int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException
Graphics в заданном формате. PrinterJob вызывает интерфейс Printable, чтобы запросить отображение страницы в контексте, заданном graphics. Формат отображаемой страницы задаётся pageFormat. Индекс запрошенной страницы, отсчитываемый от нуля, задаётся pageIndex. Если запрошенная страница не существует, этот метод возвращает NO_SUCH_PAGE; в противном случае возвращается PAGE_EXISTS. Класс Graphics или его подкласс реализует интерфейс PrinterGraphics, предоставляя дополнительную информацию. Если объект Printable прерывает задание печати, он выбрасывает исключение PrinterException.- Параметры:
-
graphics— контекст, в котором отображается страница -
pageFormat— размер и ориентация отображаемой страницы -
pageIndex— индекс отображаемой страницы, отсчитываемый от нуля - Возвращает:
- PAGE_EXISTS, если страница успешно отображена, или NO_SUCH_PAGE, если
pageIndexуказывает на несуществующую страницу. - Выбрасывает:
-
PrinterException— выбрасывается, когда задание печати завершается.
© 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/java/awt/print/Printable.html