Класс RectangularShape

Все реализуемые интерфейсы:
Shape, Cloneable
Непосредственные подклассы:
Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D
public abstract class RectangularShape
extends Object
implements Shape, Cloneable

RectangularShape является базовым классом для ряда объектов Shape, геометрия которых определяется прямоугольной рамкой. Этот класс сам по себе не определяет конкретную геометрию, но лишь предоставляет методы управления, унаследованные целым классом объектов Shape. Предоставленные этим классом методы управления могут быть использованы для запроса и изменения прямоугольной рамки, которая служит эталоном для подклассов при определении их геометрии.

С тех пор:
1.2

Краткое описание конструкторов

Модификатор Конструктор Описание
protected RectangularShape()

Это абстрактный класс, который нельзя создать напрямую.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()

Создает новый объект того же класса и с тем же содержимым, что и этот объект.

boolean contains​(Point2D p)

Проверяет, находится ли указанная Point2D внутри границ Shape, как описано в определении внутри.

boolean contains​(Rectangle2D r)

Проверяет, полностью ли внутренняя часть Shape содержит указанный Rectangle2D.

Rectangle getBounds()

Возвращает целое число Rectangle, которое полностью охватывает Shape.

double getCenterX()

Возвращает координату X центра прямоугольной рамки Shape с точностью double.

double getCenterY()

Возвращает координату Y центра прямоугольной рамки Shape с точностью double.

Rectangle2D getFrame()

Возвращает прямоугольную Rectangle2D рамку, определяющую общую форму этого объекта.

abstract double getHeight()

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

double getMaxX()

Возвращает максимальную координату X прямоугольной рамки Shape с точностью double.

double getMaxY()

Возвращает максимальную координату Y прямоугольной рамки Shape с точностью double.

double getMinX()

Возвращает минимальную координату X прямоугольной рамки Shape с точностью double.

double getMinY()

Возвращает минимальную координату Y прямоугольной рамки Shape с точностью double.

PathIterator getPathIterator​(AffineTransform at, double flatness)

Возвращает объект итератора, который итерирует по границе объекта Shape и предоставляет доступ к уплощенному представлению контура геометрии объекта Shape.

abstract double getWidth()

Возвращает ширину прямоугольной рамки с точностью double.

abstract double getX()

Возвращает координату X левого верхнего угла прямоугольной рамки с точностью double.

abstract double getY()

Возвращает координату Y левого верхнего угла прямоугольной рамки с точностью double.

boolean intersects​(Rectangle2D r)

Проверяет, пересекается ли внутренняя часть Shape с внутренней частью указанного Rectangle2D.

abstract boolean isEmpty()

Определяет, пуст ли RectangularShape.

abstract void setFrame​(double x, double y, double w, double h)

Устанавливает расположение и размер прямоугольной рамки этого Shape до указанных прямоугольных значений.

void setFrame​(Point2D loc, Dimension2D size)

Устанавливает расположение и размер прямоугольной рамки этого Shape до указанных Point2D и Dimension2D соответственно.

void setFrame​(Rectangle2D r)

Устанавливает прямоугольную рамку этого Shape в соответствии с указанным Rectangle2D.

void setFrameFromCenter​(double centerX, double centerY, double cornerX, double cornerY)

Устанавливает прямоугольную рамку этого Shape на основе указанных координат центральной и угловой точек.

void setFrameFromCenter​(Point2D center, Point2D corner)

Устанавливает прямоугольную рамку этого Shape на основе указанной центральной Point2D и угловой Point2D точек.

void setFrameFromDiagonal​(double x1, double y1, double x2, double y2)

Устанавливает диагональ прямоугольной рамки этого Shape на основе двух указанных координат.

void setFrameFromDiagonal​(Point2D p1, Point2D p2)

Устанавливает диагональ прямоугольной рамки этого Shape на основе двух указанных объектов Point2D.

Методы, объявленные в классе java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе java.awt.Shape

contains, contains, getBounds2D, getPathIterator, intersects

Подробное описание конструкторов

RectangularShape

protected RectangularShape()

Это абстрактный класс, который нельзя создать напрямую.

С тех пор:
1.2
См. также:
Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D

Методы

getX

public abstract double getX()

Возвращает координату X левого верхнего угла рамки в точности double.

Возвращает:
координату X левого верхнего угла рамки.
С:
1.2

getY

public abstract double getY()

Возвращает координату Y левого верхнего угла рамки в точности double.

Возвращает:
координату Y левого верхнего угла рамки.
С:
1.2

getWidth

public abstract double getWidth()

Возвращает ширину рамки в точности double.

Возвращает:
ширину рамки.
С:
1.2

getHeight

public abstract double getHeight()

Возвращает высоту рамки в точности double.

Возвращает:
высоту рамки.
С:
1.2

getMinX

public double getMinX()

Возвращает минимальную координату X рамки Shape в точности double.

Возвращает:
минимальную координату X рамки Shape.
С:
1.2

getMinY

public double getMinY()

Возвращает минимальную координату Y рамки Shape в точности double.

Возвращает:
минимальную координату Y рамки Shape.
С:
1.2

getMaxX

public double getMaxX()

Возвращает максимальную координату X рамки Shape в точности double.

Возвращает:
максимальную координату X рамки Shape.
С:
1.2

getMaxY

public double getMaxY()

Возвращает максимальную координату Y рамки Shape в точности double.

Возвращает:
максимальную координату Y рамки Shape.
С:
1.2

getCenterX

public double getCenterX()

Возвращает координату X центра рамки Shape в точности double.

Возвращает:
координату X центра рамки Shape.
С:
1.2

getCenterY

public double getCenterY()

Возвращает координату Y центра рамки Shape в точности double.

Возвращает:
координату Y центра рамки Shape.
С:
1.2

getFrame

public Rectangle2D getFrame()

Возвращает рамку Rectangle2D, которая определяет общую форму этого объекта.

Возвращает:
Rectangle2D, заданную в координатах double.
С:
1.2
См. также:
setFrame(double, double, double, double), setFrame(Point2D, Dimension2D), setFrame(Rectangle2D)

isEmpty

public abstract boolean isEmpty()

Определяет, пуста ли RectangularShape. Когда RectangularShape пуста, она не охватывает никакой области.

Возвращает:
true если RectangularShape пуста; false в противном случае.
С:
1.2

setFrame

public abstract void setFrame(double x,
                              double y,
                              double w,
                              double h)

Устанавливает положение и размер рамки этого Shape до указанных прямоугольных значений.

Параметры:
x - координата X левого верхнего угла заданной прямоугольной фигуры
y - координата Y левого верхнего угла заданной прямоугольной фигуры
w - ширина заданной прямоугольной фигуры
h - высота заданной прямоугольной фигуры
С:
1.2
См. также:
getFrame()

setFrame

public void setFrame(Point2D loc,
                     Dimension2D size)

Устанавливает положение и размер рамки этого Shape до указанной Point2D и Dimension2D соответственно. Рамка используется подклассами RectangularShape для определения их геометрии.

Параметры:
loc - указанная Point2D
size - указанная Dimension2D
С:
1.2
См. также:
getFrame()

setFrame

public void setFrame(Rectangle2D r)

Устанавливает рамку этого Shape в указанную Rectangle2D . Рамка используется подклассами RectangularShape для определения их геометрии.

Параметры:
r - указанная Rectangle2D
С:
1.2
См. также:
getFrame()

setFrameFromDiagonal

public void setFrameFromDiagonal(double x1,
                                 double y1,
                                 double x2,
                                 double y2)

Устанавливает диагональ рамки этого Shape на основе двух указанных координат. Рамка используется подклассами RectangularShape для определения их геометрии.

Параметры:
x1 - координата X начальной точки заданной диагонали
y1 - координата Y начальной точки заданной диагонали
x2 - координата X конечной точки заданной диагонали
y2 - координата Y конечной точки заданной диагонали
С:
1.2

setFrameFromDiagonal

public void setFrameFromDiagonal(Point2D p1,
                                 Point2D p2)

Устанавливает диагональ рамки этого Shape на основе двух указанных объектов Point2D. Рамка используется подклассами RectangularShape для определения их геометрии.

Параметры:
p1 - начальная Point2D заданной диагонали
p2 - конечная Point2D заданной диагонали
С:
1.2

setFrameFromCenter

public void setFrameFromCenter(double centerX,
                               double centerY,
                               double cornerX,
                               double cornerY)

Устанавливает рамку этого Shape на основе указанных координат центральной и угловой точек. Рамка используется подклассами RectangularShape для определения их геометрии.

Параметры:
centerX - координата X указанной центральной точки
centerY - координата Y указанной центральной точки
cornerX - координата X указанной угловой точки
cornerY - координата Y указанной угловой точки
С:
1.2

setFrameFromCenter

public void setFrameFromCenter(Point2D center,
                               Point2D corner)

Устанавливает рамку этого Shape на основе заданной центральной Point2D и угловой Point2D. Рамка используется подклассами RectangularShape для определения их геометрии.

Параметры:
center - указанная центральная Point2D
corner - указанная угловая Point2D
С:
1.2

contains

public boolean contains(Point2D p)

Проверяет, находится ли указанная Point2D внутри границы Shape, как описано в определении инклюзивности.

Задано:
contains в интерфейсе Shape
Параметры:
p - указанная Point2D для проверки
Возвращает:
true если указанная Point2D находится внутри границы Shape; false в противном случае.
С:
1.2

intersects

public boolean intersects(Rectangle2D r)

Проверяет, пересекается ли внутренняя часть Shape с внутренней частью указанной Rectangle2D. Метод Shape.intersects() позволяет реализации Shape консервативно возвращать true в следующих случаях:

  • высокая вероятность пересечения Rectangle2D и Shape, но
  • расчеты для точного определения этого пересечения слишком дорогостоящие.
Это означает, что для некоторых Shapes этот метод может возвращать true даже если Rectangle2D не пересекается с Shape. Класс Area выполняет более точные вычисления геометрического пересечения, чем большинство объектов Shape и поэтому может использоваться, если требуется более точный ответ.

Задано:
intersects в интерфейсе Shape
Параметры:
r - указанная Rectangle2D
Возвращает:
true если внутренняя часть Shape и внутренняя часть указанной Rectangle2D пересекаются, или если их пересечение высоко вероятно, а расчеты слишком дорогостоящие; false в противном случае.
С:
1.2
См. также:
Shape.intersects(double, double, double, double)

contains

public boolean contains(Rectangle2D r)

Проверяет, полностью ли внутренняя область Shape содержит указанную Rectangle2D. Метод Shape.contains() позволяет реализации Shape консервативно возвращать false в следующих случаях:

  • метод intersect возвращает true и
  • вычисления, определяющие, полностью ли Shape содержит Rectangle2D, являются слишком дорогостоящими.
Это означает, что для некоторых Shapes данный метод может возвращать false, даже если Shape содержит Rectangle2D. Класс Area выполняет более точные геометрические вычисления, чем большинство объектов Shape и поэтому может использоваться, если требуется более точный ответ.

Определено в:
contains в интерфейсе Shape
Параметры:
r - Указанная Rectangle2D
Возвращает:
true если внутренняя область Shape полностью содержит Rectangle2D; false в противном случае или если Shape содержит Rectangle2D, метод intersects возвращает true, и вычисления включения слишком дорогостоящие.
С:
1.2
См. также:
Shape.contains(double, double, double, double)

getBounds

public Rectangle getBounds()

Возвращает целое Rectangle, полностью охватывающее Shape. Обратите внимание, что нет гарантии, что возвращаемый Rectangle является наименьшей ограничивающей рамкой, охватывающей Shape, только что Shape полностью лежит внутри указанной Rectangle. Возвращаемый Rectangle также может не полностью охватить Shape, если Shape выходит за пределы ограниченного диапазона целочисленного типа данных. Метод getBounds2D обычно возвращает более узкую ограничивающую рамку из-за большей гибкости представления.

Обратите внимание, что определение принадлежности может привести к ситуациям, когда точки на определяющей контуре shape могут не считаться содержащимися в возвращаемом bounds объекте, но только в тех случаях, когда эти точки также не считаются содержащимися в исходном shape.

Если point находится внутри shape в соответствии с методом contains(point), то он должен находиться внутри возвращаемых границ Rectangle объекта в соответствии с методом contains(point) bounds. Конкретно:

shape.contains(x,y) требует bounds.contains(x,y)

Если point не находится внутри shape, то он все еще может содержаться в объекте bounds:

bounds.contains(x,y) не подразумевает shape.contains(x,y)

Определено в:
getBounds в интерфейсе Shape
Возвращает:
целое Rectangle, полностью охватывающее Shape.
С:
1.2
См. также:
Shape.getBounds2D()

getPathIterator

public PathIterator getPathIterator(AffineTransform at,
                                    double flatness)

Возвращает объект итератора, который проходит по границе объекта Shape и предоставляет доступ к сплющенному представлению контура геометрии объекта Shape.

Итератор вернет только типы точек SEG_MOVETO, SEG_LINETO и SEG_CLOSE.

Степень разбиения криволинейных сегментов контролируется параметром flatness, который определяет максимальное расстояние, на которое любая точка несплющенной преобразованной кривой может отклоняться от возвращенных сплющенных сегментов пути. Можно указать необязательное AffineTransform, чтобы координаты, возвращаемые в итерации, преобразовывались соответственно.

Определено в:
getPathIterator в интерфейсе Shape
Параметры:
at - необязательное AffineTransform, которое применяется к координатам по мере их возвращения в итерации, или null если требуются непрообразованные координаты.
flatness - максимальное расстояние, на которое отрезки прямых, используемые для аппроксимации криволинейных сегментов, разрешается отклоняться от любой точки исходной кривой
Возвращает:
объект PathIterator, предоставляющий доступ к сплющенной геометрии объекта Shape.
С:
1.2

clone

public Object clone()

Создает новый объект того же класса и с тем же содержимым, что и этот объект.

Переопределяет:
clone в классе Object
Возвращает:
клонированный экземпляр.
Исключения:
OutOfMemoryError - если памяти недостаточно.
С:
1.2
См. также:
Cloneable

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/geom/RectangularShape.html

Spec-Zone .ru
спецификации, руководства, описания, API