Класс GeneralPath
Вначале создается пустой объект класса GeneralPath конструктором по умолчанию GeneralPath () или объект, содержащий одну фигуру, конструктором GeneralPath (Shape sh).
Затем к этому объекту добавляются фигуры методом append(Shape sh, boolean connect).
Если параметр connect равен true, то новая фигура соединяется с предыдущими фигурами с помощью текущего пера.
В объекте есть текущая точка. Вначале ее координаты (0, 0), затем ее можно переместить в точку (х, у) методом moveTo (float x, float у).
От текущей точки к точке (х, у) можно провести:
- отрезок прямой методом lineTo(float x, float у);
- отрезок квадратичной кривой методом quadTo(float x1, float y1, float x, float y),
- кривую Безье методом curveTo(float xl, float yl, float x2, float y2, float x, float y).
Текущей точкой после этого становится точка (х, у). Начальную и конечную точки можно соединить методом closePath(). Вот как можно создать треугольник с заданными вершинами:
GeneralPath p = new GeneralPath(); p.moveTo(xl, yl); // Переносим текущую точку в первую вершину, p.lineTo(x2, y2); // проводим сторону треугольника до второй вершины, p.lineTo(x3, уЗ); // проводим вторую сторону, p.closePathf); // проводим третью сторону до первой вершины
Способы заполнения фигур определены в интерфейсе Paint. В настоящее время Java 2D содержит три реализации этого интерфейса – классы color, GradientPaint и TexturePamt. Класс Color нам известен, посмотрим, какие способы заливки предлагают классы GradientPaint и TexturePaint.