Spec-Zone.ru › OpenJDK 24

Класс 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.

Методы, объявленные в классе 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 в соответствии с заданной точкой и размером. Рамка используется подклассами 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, основываясь на двух заданных точках. Рамка используется подклассами 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
END_OF_DOCUMENT_MARKER

setFrameFromCenter

public void setFrameFromCenter(Point2D center, Point2D corner)
Устанавливает прямоугольник обрамления этого Shape на основе заданного центра Point2D и угла Point2D. Прямоугольник обрамления используется подклассами RectangularShape для определения их геометрии.
Parameters:
center - заданный центральный Point2D
corner - заданный угловой Point2D
Since:
1.2

contains

public boolean contains(Point2D p)
Проверяет, находится ли заданная точка Point2D внутри границ Shape, как описано в определении внутри.
Specified by:
contains в интерфейсе Shape
Parameters:
p - заданная Point2D для проверки
Returns:
true, если заданная Point2D находится внутри границ Shape; false в противном случае.
Since:
1.2

intersects

public boolean intersects(Rectangle2D r)
Проверяет, пересекается ли внутренняя часть Shape с внутренней частью заданного Rectangle2D. Метод Shape.intersects() позволяет реализации Shape консервативно возвращать true, когда:
  • существует высокая вероятность пересечения Rectangle2D и Shape, но
  • вычисления для точного определения этого пересечения являются чрезмерно дорогостоящими.
Это означает, что для некоторых Shapes этот метод может вернуть true, даже если Rectangle2D не пересекает Shape. Класс Area выполняет более точные вычисления геометрического пересечения, чем большинство объектов Shape, и поэтому может быть использован, если требуется более точный ответ.
Specified by:
intersects в интерфейсе Shape
Parameters:
r - заданный Rectangle2D
Returns:
true, если внутренняя часть Shape и внутренняя часть заданного Rectangle2D пересекаются или имеют высокую вероятность пересечения, и вычисления пересечения слишком дорогостоящие; false в противном случае.
Since:
1.2
See Also:
  • 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, и поэтому может быть использован, если требуется более точный ответ.
Specified by:
contains в интерфейсе Shape
Parameters:
r - Заданный Rectangle2D
Returns:
true, если внутренняя часть Shape полностью содержит Rectangle2D; false в противном случае или, если Shape содержит Rectangle2D и метод intersects возвращает true, и вычисления включения были бы слишком дорогостоящими.
Since:
1.2
See Also:
  • 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)

Specified by:
getBounds в интерфейсе Shape
Returns:
целочисленный Rectangle, который полностью охватывает Shape.
Since:
1.2
See Also:
  • Shape.getBounds2D()

getPathIterator

public PathIterator getPathIterator(AffineTransform at, double flatness)
Возвращает объект-итератор, который перебирает границу объекта Shape и предоставляет доступ к уплощенному представлению контура геометрии объекта Shape.

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

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

Specified by:
getPathIterator в интерфейсе Shape
Parameters:
at - необязательный AffineTransform, который должен быть применен к координатам по мере их возврата в итерации, или null, если требуются не преобразованные координаты.
flatness - максимальное расстояние, на которое отрезки прямых, используемые для аппроксимации криволинейных сегментов, могут отклониться от любой точки на исходной кривой
Returns:
объект PathIterator, который предоставляет доступ к уплощенной геометрии объекта Shape.
Since:
1.2

clone

public Object clone()
Создает новый объект того же класса и с тем же содержимым, что и этот объект.
Overrides:
clone в классе Object
Returns:
клонированный экземпляр.
Throws:
OutOfMemoryError - если памяти недостаточно.
Since:
1.2
See Also:
  • Cloneable

Отправить сообщение об ошибке или предложить улучшение
Для получения дополнительной информации об API и документации для разработчиков, см. документацию Java SE, которая содержит более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, решениями и примерами кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или его аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или его аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование подлежит лицензионным условиям и политике перераспределения документации.
ПРОЕКТ 24-ea+36-Debian-1

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/geom/RectangularShape.html

Spec-Zone.ru

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