Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

contains, contains, getBounds2D, getPathIterator, intersects
Модификатор и тип Метод Описание
boolean contains(double x, double y)
Проверяет, находятся ли заданные координаты внутри границы Shape согласно определению нахождения внутри.
boolean contains(double x, double y, double w, double h)
Проверяет, полностью ли внутренняя область Shape содержит заданную прямоугольную область.
Rectangle2D getBounds2D()
Возвращает ограничивающий прямоугольник Shape с более высокой точностью, чем метод getBounds.
PathIterator getPathIterator(AffineTransform at)
Возвращает объект-итератор, проходящий вдоль границы Shape и предоставляющий доступ к геометрии контура Shape.
boolean intersects(double x, double y, double w, double h)
Проверяет, пересекается ли внутренняя область Shape с внутренней областью заданной прямоугольной области.

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

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, 2026, 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.

Spec-Zone.ru

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