p.setlmageableArea(double x, double y, double width, double height)
Далі визначається об’єкт класу pageFormat з параметрами по замовчуванню:
PageFormat pf = new PageFormat()
і задаються нові параметри методом: pf.setPaper(p).
Після цього викликати на екран вікно Параметри сторінки методом pageDiaІog() не обов’язково, оскільки ми отримаємо мовчазний процес друку. Так робиться в тих випадках, коли друк виконується в фоновому режимі окремим підпроцесом. Далі треба дати завдання на друк (print job) — вказати кількість сторінок, їх номери, порядок друку сторінок, кількість копій. Всі ці дані збираються в класі PrinterJob.
Система друку Java 2D розрізняє два види завдань. В більшості простих завдань — Printable Job — є тільки один клас, малюючий сторінки, тому у всіх сторінок одні й ті ж параметри, сторінки друкуються послідовно з першої по останню або з останньої сторінки по першу, це залежить від системи друку. Другий, більш складний вид завдань — Pageable Job — визначає для друку кожної сторінки свій клас, малюючий сторінки. Тому у кожної сторінки можуть бути власні параметри. Крім того, можна друкувати не все, а тільки вибрані сторінки, виводити їх в зворотному порядку, друкувати на обох сторонах листа. Для здійснення цих можливостей визначається екземпляр класу Book або створюється клас, реалізуючий інтерфейс Pageable. В класі Book є також один конструктор, створюючий порожній об’єкт:
Book b = new Book()
Після створення в даний об’єкт додаються класи, малюючі сторінки. Для цього в класі Book є два методи:
o append (Printable p, PageFormat pf) —додає об’єкт р в кінець;
o append(Printable p, PageFormat pf, int numPages) — додає numPages екземплярів р в кінець.
Якщо кількість сторінок невідома, то задається константа UNKNOWN_ NUMBER_OF_PAGES.
Залишається задати число копій (якщо воно більше 1), методом setСopies(int n) і завдання сформовано. Ще один корисний метод defaultPage() класу PrinterJob повертає об’єкт класу PageFormat по замовчуванню. Цей метод можна використовувати замість конструктора класу PageFormat.
Друк текстового файлу заключається в розміщенні його рядків в графічному контексті методом drawstring(). При цьому необхідо прослідкувати за правильним розміщенням рядків в області друку і розбиттям файлу на сторінці.
Дата добавления: 2014-12-10; просмотров: 958;