Print(Graphics g, PageFormat pf, int ind);
Перший аргумент g — це графічний контекст, що виводиться на лист паперу. Другий аргумент pf — екземпляр класу PageFormat, визначаючий розмір і орієнтацію сторінки. Третій аргумент ind — порядковий номер сторінки, що відраховується від нуля. Метод print() класу, малюючого сторінки, заміняє собою метод paint(), що використовується стандартними засобами друку AWT. Клас, малюючий сторінки, не зобов’язаний розширювати клас Frame і перевизначати метод paint(). Все заповнення графічного контексту методами класу Graphics або Graphics2D тепер виконується в методі print(). Коли друк сторінки буде закінчено, метод print() повинен повернути ціле значення, задане константою PAGE_EXISTS. Буде зроблено повторне звернення до методу print() для друку наступної сторінки. Аргумент ind при цьому зростає на 1. Коли ind перевищить кількість сторінок, метод print() повинен повернути значення NO_SUCH_PAGE, що служить сигналом закінчення друку.
Слід пам’ятати, що система друку може декілька раз звернутися до методу paint() для друку однієї і тієї ж сторінки. При цьому аргумент ind не змінюється, а метод print() повинен створити той же графічний контекст.
Клас PageFormat визначає параметри сторінки. На сторінці вводиться система координат з одиницею довжини 1/72 дюйма, початок якої і напрям осей визначається однією із трьох констант:
o PORTRAIT – початок координат розташовано в лiвому верхньому куті сторінки, вісь Ох направлена вправо, вісь Оу – вниз;
o LANDSCAPE – початок координат в лівому нижньому куті, вісь Ох йде вверх, вісь Оу – вправо;
o REVERSE_LANDSCAPE – початок координат в правому верхньому куті, вісь Ох йде вниз, вісь Оу – вліво.
Більшість принтерів не може друкувати без полів, на всій сторінці, а здійснює виведення тільки в деяку область друку, координати лівого верхнього кута якої повертаються методами getІmageabІeХ() і getlmageableY(), а ширина і висота – методами getlmageableWidth() і getlmageableHeight(). Ці значення треба враховувати при розташуванні елементів в графічному контексті, наприклад, при розміщенні рядків тексту методом drawstring(). В класі тільки один конструктор по замовчуванню PageFormat(), задаючий стандартні параметри сторінки, визначені для принтера по замовчуванню обчислювальною системою.
Метод pageDiaІog(PageDiaiog pd) відкриває на екрані стандартне вікно Параметри сторінки операційної системи, в якому уже задані параметри, визначені в об’єкті pd. Якщо користувач вибрав у цьому вікні кнопку Відміна, то повертається посилання на об’єкт pd, якщо кнопку ОК, то створюється і повертається посилання на новий об’єкт. Об’єкт pd в будь-якому випадку не змінюється. Він звичайно створюється конструктором. Можна задати параметри сторінки і із програми, але тоді слід спочатку визначити об’єкт класу Paper конструктором по замовчуванню:
Paper р = new Paper()
Потім наступними методами задається розмір сторінки і області друку:
Дата добавления: 2014-12-10; просмотров: 798;