Класс RectangularShape
- Все реализуемые интерфейсы:
Shape, Cloneable
- Прямые известные подклассы:
Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D
public abstract class RectangularShape extends Object implements Shape, Cloneable
RectangularShape — базовый класс для ряда объектов Shape, геометрия которых определяется прямоугольной рамкой. Сам этот класс не задаёт никакую конкретную геометрию, а лишь предоставляет методы манипулирования, унаследованные целой категорией объектов Shape. Методы манипулирования, предоставляемые этим классом, можно использовать для получения и изменения прямоугольной рамки, которая служит ориентиром для определения геометрии подклассов.- Начиная с версии:
- 1.2
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Это абстрактный класс, который нельзя создать напрямую. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Создаёт новый объект того же класса с тем же содержимым, что и этот объект. |
boolean |
contains |
Проверяет, находится ли указанный Point2D внутри границы Shape, как описано в определении принадлежности внутренней области. |
boolean |
contains |
Проверяет, полностью ли внутренняя область 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 |
Возвращает объект-итератор, проходящий вдоль границы объекта Shape и предоставляющий доступ к упрощённому представлению контура геометрии объекта Shape. |
abstract double |
getWidth() |
Возвращает ширину ограничивающего прямоугольника с точностью double. |
abstract double |
getX() |
Возвращает X-координату верхнего левого угла ограничивающего прямоугольника с точностью double. |
abstract double |
getY() |
Возвращает Y-координату верхнего левого угла ограничивающего прямоугольника с точностью double. |
boolean |
intersects |
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанного Rectangle2D. |
abstract boolean |
isEmpty() |
Определяет, является ли RectangularShape пустым. |
abstract void |
setFrame |
Задаёт местоположение и размер ограничивающего прямоугольника этого Shape указанными значениями прямоугольника. |
void |
setFrame |
Задаёт местоположение и размер ограничивающего прямоугольника этого Shape, используя указанные Point2D и Dimension2D соответственно. |
void |
setFrame |
Задаёт для ограничивающего прямоугольника этого Shape значение указанного Rectangle2D. |
void |
setFrameFromCenter |
Задаёт ограничивающий прямоугольник этого Shape на основе указанных координат центральной и угловой точек. |
void |
setFrameFromCenter |
Задаёт ограничивающий прямоугольник этого Shape на основе указанной центральной Point2D и угловой Point2D. |
void |
setFrameFromDiagonal |
Задаёт диагональ ограничивающего прямоугольника этого Shape на основе двух указанных координат. |
void |
setFrameFromDiagonal |
Задаёт диагональ ограничивающего прямоугольника этого Shape на основе двух указанных объектов Point2D. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе Shape
contains, contains, getBounds2D, getPathIterator, intersects
Подробное описание конструкторов
RectangularShape
protected RectangularShape()
- Начиная с версии:
- 1.2
- См. также:
Подробное описание методов
getX
public abstract double getX()
double.- Возвращает:
- X-координату верхнего левого угла ограничивающего прямоугольника.
- Начиная с версии:
- 1.2
getY
public abstract double getY()
double.- Возвращает:
- Y-координату верхнего левого угла ограничивающего прямоугольника.
- Начиная с версии:
- 1.2
getWidth
public abstract double getWidth()
double.- Возвращает:
- ширину ограничивающего прямоугольника.
- Начиная с версии:
- 1.2
getHeight
public abstract double getHeight()
double.- Возвращает:
- высоту ограничивающего прямоугольника.
- Начиная с версии:
- 1.2
getMinX
public double getMinX()
Shape с точностью double.- Возвращает:
- наименьшую X-координату ограничивающего прямоугольника
Shape. - Начиная с версии:
- 1.2
getMinY
public double getMinY()
Shape с точностью double.- Возвращает:
- наименьшую Y-координату ограничивающего прямоугольника
Shape. - Начиная с версии:
- 1.2
getMaxX
public double getMaxX()
Shape с точностью double.- Возвращает:
- наибольшую X-координату ограничивающего прямоугольника
Shape. - Начиная с версии:
- 1.2
getMaxY
public double getMaxY()
Shape с точностью double.- Возвращает:
- наибольшую Y-координату ограничивающего прямоугольника
Shape. - Начиная с версии:
- 1.2
getCenterX
public double getCenterX()
Shape с точностью double.- Возвращает:
- X-координату центра ограничивающего прямоугольника
Shape. - Начиная с версии:
- 1.2
getCenterY
public double getCenterY()
Shape с точностью double.- Возвращает:
- Y-координату центра ограничивающего прямоугольника
Shape. - Начиная с версии:
- 1.2
getFrame
public Rectangle2D getFrame()
Rectangle2D, определяющий общую форму этого объекта.- Возвращает:
- объект
Rectangle2D, заданный в координатахdouble. - Начиная с версии:
- 1.2
- См. также:
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
- См. также:
setFrame
public void setFrame(Point2D loc, Dimension2D size)
Shape, используя указанные Point2D и Dimension2D соответственно. Подклассы RectangularShape используют ограничивающий прямоугольник для определения своей геометрии.- Параметры:
-
loc— указанноеPoint2D -
size— указанноеDimension2D - Начиная с версии:
- 1.2
- См. также:
setFrame
public void setFrame(Rectangle2D r)
Shape равным указанному Rectangle2D. Подклассы RectangularShape используют ограничивающий прямоугольник для определения своей геометрии.- Параметры:
-
r— указанныйRectangle2D - Начиная с версии:
- 1.2
- См. также:
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, как описано в определении принадлежности внутренней области.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
- См. также:
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
- См. также:
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)
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
- См. также:
© 1993, 2025, 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/25/docs/api/java.desktop/java/awt/geom/RectangularShape.html