Класс 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
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
RectangularShape() Это абстрактный класс, который нельзя создать напрямую. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Object |
clone() Создаёт новый объект того же класса и с тем же содержимым, что и этот объект. |
boolean |
contains(Point2D p) Проверяет, находится ли указанная |
boolean |
contains(Rectangle2D r) Проверяет, полностью ли внутренность |
Rectangle |
getBounds() Возвращает целое число |
double |
getCenterX() Возвращает координату X центра прямоугольной рамки |
double |
getCenterY() Возвращает координату Y центра прямоугольной рамки |
Rectangle2D |
getFrame() Возвращает прямоугольную рамку |
abstract double |
getHeight() Возвращает высоту прямоугольной рамки с точностью |
double |
getMaxX() Возвращает максимальную координату X прямоугольной рамки |
double |
getMaxY() Возвращает максимальную координату Y прямоугольной рамки |
double |
getMinX() Возвращает минимальную координату X прямоугольной рамки |
double |
getMinY() Возвращает минимальную координату Y прямоугольной рамки |
PathIterator |
getPathIterator(AffineTransform at,
double flatness) Возвращает объект итератора, который проходит по границе объекта |
abstract double |
getWidth() Возвращает ширину прямоугольной рамки с точностью |
abstract double |
getX() Возвращает координату X левого верхнего угла прямоугольной рамки с точностью |
abstract double |
getY() Возвращает координату Y левого верхнего угла прямоугольной рамки с точностью |
boolean |
intersects(Rectangle2D r) Проверяет, пересекается ли внутренность |
abstract boolean |
isEmpty() Определяет, пуста ли |
abstract void |
setFrame(double x,
double y,
double w,
double h) Устанавливает расположение и размер прямоугольной рамки этого объекта |
void |
setFrame(Point2D loc,
Dimension2D size) Устанавливает расположение и размер прямоугольной рамки этого объекта |
void |
setFrame(Rectangle2D r) Устанавливает прямоугольную рамку этого объекта |
void |
setFrameFromCenter(double centerX,
double centerY,
double cornerX,
double cornerY) Устанавливает прямоугольную рамку этого объекта |
void |
setFrameFromCenter(Point2D center,
Point2D corner) Устанавливает прямоугольную рамку этого объекта |
void |
setFrameFromDiagonal(double x1,
double y1,
double x2,
double y2) Устанавливает диагональ прямоугольной рамки этого объекта |
void |
setFrameFromDiagonal(Point2D p1,
Point2D p2) Устанавливает диагональ прямоугольной рамки этого объекта |
Методы, унаследованные от класса 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, которая определяет общую форму этого объекта.
- Возвращает:
- a
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
© 1993, 2020, 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.