Класс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
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 |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе Shape
contains, contains, getBounds2D, getPathIterator, intersects | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
contains |
Проверяет, находятся ли заданные координаты внутри границы Shape согласно определению нахождения внутри. |
boolean |
contains |
Проверяет, полностью ли внутренняя область Shape содержит заданную прямоугольную область. |
Rectangle2D |
getBounds2D() |
Возвращает ограничивающий прямоугольник Shape с более высокой точностью, чем метод getBounds. |
PathIterator |
getPathIterator |
Возвращает объект-итератор, проходящий вдоль границы Shape и предоставляющий доступ к геометрии контура Shape. |
boolean |
intersects |
Проверяет, пересекается ли внутренняя область Shape с внутренней областью заданной прямоугольной области. |
Подробное описание конструкторов
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.