Spec-Zone .ru
спецификации, руководства, описания, API
|
Java 2D™ API обеспечивает несколько классов, которые определяют общие геометрические объекты, такие как точки, строки, кривые, и прямоугольники. Эти классы геометрии являются частью java.awt.geom
пакет.
PathIterator
Shape
GeneralPath
Все примеры, представленные в этом разделе, создают конфигурации при использовании java.awt.geom
пакет и затем представляет их при использовании Graphics2D
Graphics2D
объект, например бросая Graphics
параметр paint()
метод.
public void paint (Graphics g) { Graphics2D g2 = (Graphics2D) g; ... }
Point
Point2D.Float
и Point2D.Double
обеспечьте соответственно и двойную точность плавающую для того, чтобы она сохранила координаты точки.
//Create Point2D.Double Point2D.Double point = new Point2D.Double(x, y);
Чтобы создать точку с координатами 0,0, Вы используете конструктора по умолчанию, Point2D.Double()
.
Можно использовать setLocation
метод, чтобы установить позицию точки следующим образом:
setLocation(double x, double y)
– Установить расположение точки - определяющие координаты как двойные значения.setLocation(Point2D p)
– Установить расположение точки, используя координаты другой точки.Кроме того, Point2D
У class есть методы, чтобы вычислить расстояние между текущей точкой и точкой с данными координатами, или расстояние между двумя точками.
Line2D
class представляет линейный сегмент в (x, y) координатное пространство. Line2D. Float
и Line2D.Double
подклассы определяют строки в и двойной точности плавающей. Например:
// draw Line2D.Double g2.draw(new Line2D.Double(x1, y1, x2, y2));
Этот class включает несколько setLine()
методы, чтобы определить конечные точки строки.
Aternatively, конечные точки строки могли быть определены при использовании конструктора для Line2D.Float
class следующим образом:
Line2D.Float(float X1, float Y1, float X2, float Y2)
Line2D.Float(Point2D p1, Point2D p2)
Используйте Graphics2D
class, чтобы определить штрих для пути строки.
java.awt.geom
пакет позволяет Вам создать квадратный или кубический сегмент кривой.
QuadCurve2D
class реализует Shape
интерфейс. Этот class представляет квадратный параметрический сегмент кривой в (x, y) координатное пространство. QuadCurve2D.Float
и QuadCurve2D.Double
подклассы определяют квадратную кривую в и двойной точности плавающей.
Несколько setCurve
методы используются, чтобы определить две конечных точки и контрольную точку кривой, координаты которой могут быть определены непосредственно координатами других точек и при использовании данного массива.
Очень полезный метод, setCurve(QuadCurve2D)
, устанавливает квадратную кривую с теми же самыми конечными точками и контрольной точкой как предоставленная кривая. Например:
// create new QuadCurve2D.Float QuadCurve2D q = new QuadCurve2D.Float(); // draw QuadCurve2D.Float with set coordinates q.setCurve(x1, y1, ctrlx, ctrly, x2, y2); g2.draw(q);
CubicCurve2D
Shape
CubicCurve2D.Float
и CubicCurve2D.Double
подклассы определяют кубическую кривую в и двойной точности плавающей.
CubicCurve2D
У class есть подобные методы для того, чтобы установить кривую как QuadraticCurve2D
class, кроме со второй контрольной точкой. Например:
// create new CubicCurve2D.Double CubicCurve2D c = new CubicCurve2D.Double(); // draw CubicCurve2D.Double with set coordinates c.setCurve(x1, y1, ctrlx1, ctrly1, ctrlx2, ctrly2, x2, y2); g2.draw(c);
Классы, которые определяют примитивы, представленные в следующем примере, расширяются RectangularShape
class, который реализует Shape
взаимодействуйте через интерфейс и добавляет несколько собственных методов.
Эти методы позволяют Вам получить информацию о расположении формы и размере, исследовать центральную точку прямоугольника, и установить границы формы.
Rectangle2D
Rectangle2D.Float
и Rectangle2D.Double
подклассы определяют прямоугольник в и двойной точности плавающей. Например:
// draw Rectangle2D.Double g2.draw(new Rectangle2D.Double(x, y, rectwidth, rectheight));
RoundRectangle2D
RoundRectangle2D.Float
и RoundRectangle2D.Double
подклассы определяют круглый прямоугольник в и двойной точности плавающей.
Округленный прямоугольник определяется со следующими параметрами:
Установить расположение, размер, и дуги a RoundRectangle2D
объект, используйте метод setRoundRect(double a, double y, double w, double h, double arcWidth, double arcHeight)
. Например:
// draw RoundRectangle2D.Double g2.draw(new RoundRectangle2D.Double(x, y, rectwidth, rectheight, 10, 10));
Ellipse2D
Ellipse2D.Float
и Ellipse2D.Double
подклассы определяют эллипс в и двойной точности плавающей.
Эллипс полностью определяется расположением, width и height. Например:
// draw Ellipse2D.Double g2.draw(new Ellipse2D.Double(x, y, rectwidth, rectheight));
Чтобы потянуть часть эллипса, Вы используете Arc2D
Arc2D.Float
и Arc2D.Double
подклассы определяют эллипс в и двойной точности плавающей.
Arc2D
class определяет следующие три типа дуг, представленных соответствующими константами в этом class: ОТКРЫТЫЙ, КРУГ и АККОРД.
Несколько наборов методов размер и параметры дуги:
Point2D
и Dimension2D
Arc2D
Кроме того, можно использовать setArcByCenter
метод, чтобы определить дугу от центральной точки, данной ее координатами и радиусом.
// draw Arc2D.Double g2.draw(new Arc2D.Double(x, y, rectwidth, rectheight, 90, 135, Arc2D.OPEN));
ShapesDemo2D.java
пример кода содержит реализации от всех описанных геометрических примитивов. Для получения дополнительной информации о классах и методах, представленных в этом разделе, см. java.awt.geom