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; просмотров: 808;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.