Spec-Zone.ru › OpenJDK 8

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

Проверяет, находится ли указанная 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, которая определяет общую форму этого объекта.

Возвращает:
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.

Spec-Zone.ru

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