Spec-Zone.ru › OpenJDK 25

Класс RectangularShape

java.lang.Object
java.awt.geom.RectangularShape
Все реализуемые интерфейсы:
Shape, Cloneable
Прямые известные подклассы:
Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D
public abstract class RectangularShape extends Object implements Shape, Cloneable
RectangularShape — базовый класс для ряда объектов Shape, геометрия которых определяется прямоугольной рамкой. Сам этот класс не задаёт никакую конкретную геометрию, а лишь предоставляет методы манипулирования, унаследованные целой категорией объектов Shape. Методы манипулирования, предоставляемые этим классом, можно использовать для получения и изменения прямоугольной рамки, которая служит ориентиром для определения геометрии подклассов.
Начиная с версии:
1.2

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

RectangularShape()
Модификатор Конструктор Описание
protected
Это абстрактный класс, который нельзя создать напрямую.

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

Модификатор и тип Метод Описание
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.

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

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

Методы, объявленные в интерфейсе 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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API