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



              

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


Класс PageFormat определяет параметры страницы. На странице вводится система координат с единицей длины 1/72 дюйма, начало которой и направление осей определяется одной из трех констант:

 PORTRAIT

— начало координат расположено в левом верхнем углу страницы, ось Ох направлена вправо, ось Оу — вниз;

LANDSCAPE

— начало координат в левом нижнем углу, ось Ох идет вверх, ось Оу — вправо;

REVERSE_LANDSCAPE

— начало координат в правом верхнем углу, ось Ох идет вниз, ось Оу — влево.

Большинство принтеров не может печатать без полей, на всей странице, а осуществляет вывод только в некоторой

области печати

(imageable area), координаты левого верхнего угла которой возвращаются методами getimageabiex() и getlmageableY(), а ширина и высота — методами getlmageableWidth() и getlmageableHeight().

Эти значения надо учитывать при расположении элементов в графическом контексте, например, при размещении строк текста методом drawstring (), как это сделано в листинге 18.9.

В классе только один конструктор по умолчанию PageFormat о, задающий стандартные параметры страницы, определенные для принтера по умолчанию вычислительной системы.

Читатель, добравшийся до этого места книги, уже настолько поднаторел в Java, что у него возникает вопрос: "Как же тогда задать параметры страницы?" Ответ простой: "С помощью стандартного окна операционной системы".

Метод pageDiaiog(PageDiaiog pd) открывает на экране стандартное окно Параметры страницы (Page Setup) операционной системы, в котором уже заданы параметры, определенные в объекте pd. Если пользователь выбрал в этом окне кнопку Отмена, то возвращается ссылка на объект pd, если кнопку ОК, то создается и возвращается ссылка на новый объект. Объект pd в любом случае не меняется. Он обычно создается конструктором.

Можно задать параметры страницы и из программы, но тогда следует сначала определить объект класса Paper конструктором по умолчанию:

Paper р = new Paper() 




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