Иллюстрированный самоучитель по Java



              

Печать средствами Java 2D - часть 4


.

При составлении задания на печать, т. е. после создания экземпляра класса PrinterJob, надо указать вид задания одним и только одним из трех методов ЭТОГО класса setPrintable(Printable pr), setPrintable(Printable pr, PageFormat pf) ИЛИ setPageble (Pageable pg). Заодно задаются один или несколько классов рг, рисующих страницы в этом задании.

Остальные параметры задания можно задать в стандартном диалоговом окне Печать (Print) операционной системы, которое открывается на экране при выполнении логического метода printoiaiog (). Указанный метод не имеет аргументов. Он возвратит true, когда пользователь щелкнет по кнопке ОК, и false после нажатия кнопки Отмена.

Остается задать число копий, если оно больше 1, методом setcopies(int n) и задание сформировано.

Еще один полезный метод defaultPage() класса PrinterJob возвращает объект класса PageFormat по умолчанию. Этот метод можно использовать вместо конструктора класса PageFormat.

Осталось сказать, как создается экземпляр класса PrinterJob. Поскольку этот класс тесно связан с системой печати компьютера, его объекты создаются не конструктором, а статическим методом getPrinterJob(), Имеющимся в том же самом классе Printer Job.

Начало печати задается методом print () класса PrinterJob. Этот метод не имеет аргументов. Он.последбватель но вызывает методы print (g, pf, ind) классов, рисующих страницы, для каждой страницы.

Соберем все это вместе в листинге 18.8. В нем средствами JavaJ2D печатается то же, что и в листинге 18.7. Обратите внимание на п.

6.

Пдсле окончания печати программа не заканчивается автоматически, для ее завершения мы обращаемся к методу System.exit (0).

Листинг 18.8.

Простая печать методами Java 2D

import java.awt.*;

import java.awt.geom.*;

import java.awt.print.*;

class Print2Test implements Printable{

public int print(Graphics g, PageFormat pf, int ind)

throws PrinterException{         // Печатаем не более 5 страниц 




Содержание  Назад  Вперед