Класс 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, которая определяет общую форму этого объекта.
- Возвращает:
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/geom/RectangularShape.html