-
При создании компонента, т. е. объекта класса Component, автоматически формируется его графический контекст (graphics context). В контексте размещается область рисования и вывода текста и изображений.
-
Цвет, как и все в Java, – объект определенного класса, а именно, класса color. Основу класса составляют семь конструкторов цвета. Самый простой конструктор: | Color(int red, int green, int blue) | …создает цвет, получающийся как смесь красной red, зеленой green и синей blue составляющих.
-
Основной метод рисования: | drawLine(int x1, int y1, int х2, int y2) | …вычерчивает текущим цветом отрезок прямой между точками с координатами (x1, y1) и (х2, у2). | Одного этого метода достаточно, чтобы, нарисовать любую картину по точкам, вычерчивая каждую точку с координатами (х, у) методом drawLine (x, у, х, у) и меняя цвета от точки к точке. Но никто, разумеется, не станет этого делать.
-
Этот класс предназначен для работы с многоугольником, в частности, с треугольниками и произвольными четырехугольниками. | Объекты этого класса можно создать двумя конструкторами: | Polygon () – создает пустой объект;
-
Для вывода текста в область рисования текущим цветом и шрифтом, начиная с точки (х, у), в, классе Graphics есть несколько методов: | drawstring (String s, int x, int y) – выводит строку s; | drawBytes(byte[] b, int offset, int length, int x, int у) – выводит length элементов массива байтов ь, начиная с индекса offset;
-
Объекты класса Font хранят начертания (glyphs) символов, образующие шрифт. Их можно создать двумя Конструкторами: | Font (Map attributes) – задает шрифт с заданными аргументом attributes атрибутами. Ключи атрибутов и некоторые их значения задаются константами класса TextAttnbute из пакета java.awt.font. Этот конструктор характерен для Java 2D и будет рассмотрен далее в настоящей главе.
-
Класс FontMetrics является абстрактным, поэтому нельзя воспользоваться его конструктором. Для получения объекта класса FontMetrics, содержащего набор метрических характеристик шрифта f, надо обратиться к методу getFontMetrics (f) класса Graphics или класса Component.
-
В систему пакетов и классов Java 2D, основа которой– класс Graphics2D пакета java.awt, внесено несколько принципиально новых положений. | Кроме координатной системы, принятой в классе Graphics и названной координатным пространством пользователя (User Space), введена еще система координат устройства вывода (Device Space): экрана монитора, принтера.
-
Правило преобразования координат пользователя в координаты графического устройства (transform) задается автоматически при создании графического контекста так же, как цвет и шрифт. В дальнейшем его можно изменить методом setTransform() так же, как меняется цвет или шрифт.
-
Характеристики пера для рисования фигур описаны в интерфейсе stroke. В Java 2D есть пока только один класс, реализующий этот интерфейс – класс BasicStroke. | Конструкторы класса BasicStroke определяют характеристики пера.
-
Вначале создается пустой объект класса GeneralPath конструктором по умолчанию GeneralPath () или объект, содержащий одну фигуру, конструктором GeneralPath (Shape sh). | Затем к этому объекту добавляются фигуры методом append(Shape sh, boolean connect).
-
Класс GradientPaint предлагает сделать заливку следующим образом. | В двух точках м и N устанавливаются разные цвета. В точке M(xi, yi) задается цвет cl, в точке b1(х2, у2) – цвет с2. Цвет заливки гладко меняется от el к с2 вдоль прямой, соединяющей точки м и м, оставаясь постоянным вдоль каждой прямой, перпендикулярной прямой мы.
-
Шрифт – объект класса Font – кроме имени, стиля и размера имеет еще полтора десятка атрибутов: подчеркивание, перечеркивание, наклон, цвет шрифта и цвет фона, ширину и толщину символов, аффинное преобразование, расположение слева направо или справа налево.
-
Визуализацию (rendering) созданной графики можно усовершенствовать, установив один из методов (hint) улучшения одним из методов класса Graphics2D: | setRenderingHints(RenderingHints.Key key, Object value) | setRenderingHints(Map hints) | Ключи – методы улучшения – и их значения задаются константами класса RenderingHints, перечисленными в табл. 9.2. | Таблица 9.2. Методы визуализации и их значения.