Класс 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. |
Методы, объявленные в классе 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
- См. также:
Подробное описание методов
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 в соответствии с заданной точкой и размером. Рамка используется подклассами 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, основываясь на двух заданных точках. Рамка используется подклассами 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 для определения их геометрии.- Parameters:
-
center- заданный центральныйPoint2D -
corner- заданный угловойPoint2D - Since:
- 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, и поэтому может быть использован, если требуется более точный ответ.- Specified by:
-
intersectsв интерфейсеShape - Parameters:
-
r- заданныйRectangle2D - Returns:
-
true, если внутренняя частьShapeи внутренняя часть заданногоRectangle2Dпересекаются или имеют высокую вероятность пересечения, и вычисления пересечения слишком дорогостоящие;falseв противном случае. - Since:
- 1.2
- See Also:
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:
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, чтобы координаты, возвращаемые в итерации, преобразовывались соответствующим образом.
- 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:
© 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