Рисование фигур средствами Java2D. Класс BasicStroke.
Рис. 9.4. Перья с различными характеристиками
После создания пера одним из конструкторов и установки пера методом setStroke () можно рисовать различные фигуры методами draw() и fill().
Общие свойства фигур, которые можно нарисовать методом draw () класса Graphics2D, описаны в интерфейсе shape. Этот интерфейс реализован для создания обычного набора фигур – прямоугольников, прямых, эллипсов, дуг, точек – классами Rectangle2D, RoundRectangle2D, Line2D, Ellipse2D, Arc2D, Point2D пакета java.awt.geom. В этом пакете есть еще классы Cubiccurve2D и QuadCurve2D для создания кривых третьего и второго порядка.
Все эти классы абстрактные, но существуют их реализации – вложенные классы Double и Float для задания координат числами соответствующего типа. В Листинге 9.4 использованы классы Rectangle2D.Double и Line2d.Double для вычерчивания прямоугольников и отрезков.
В пакете java.awt.geom есть еще один интересный класс – GeneralPath. Объекты этого класса могут содержать сложные конструкции, составленные из отрезков прямых или кривых линий и прочих фигур, соединенных или не соединенных между собой. Более того, поскольку этот класс реализует интерфейс shape, его экземпляры сами являются фигурами и могут быть элементами других объектов класса GeneralPath.