Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Rectangle2D extends RectangularShape
Rectangle2D
class описывает прямоугольник, определенный расположением (x,y)
и размерность (w x h)
. Этот class является только абстрактным суперклассом для всех объектов, которые хранят 2-D прямоугольник. Фактическое представление хранения координат оставляют подклассу.
Модификатор и Тип | Класс и Описание |
---|---|
static class |
Rectangle2D.Double
Double class определяет прямоугольник, определенный в двойных координатах. |
static class |
Rectangle2D.Float
Float class определяет прямоугольник, определенный в координатах плавающих. |
Модификатор и Тип | Поле и Описание |
---|---|
static int |
OUT_BOTTOM
Битовая маска, которая указывает, что точка находится ниже этого
Rectangle2D . |
static int |
OUT_LEFT
Битовая маска, которая указывает, что точка находится налево от этого
Rectangle2D . |
static int |
OUT_RIGHT
Битовая маска, которая указывает, что точка находится направо от этого
Rectangle2D . |
static int |
OUT_TOP
Битовая маска, которая указывает, что точка находится выше этого
Rectangle2D . |
Модификатор | Конструктор и Описание |
---|---|
protected |
Rectangle2D()
Это - абстрактный class, который нельзя инстанцировать непосредственно.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
add(double newx, double newy)
Добавляет точка, определенная параметрами двойной точности
newx и newy , к этому Rectangle2D . |
void |
add(Point2D pt)
Добавляет
Point2D объект pt к этому Rectangle2D . |
void |
add(Rectangle2D r)
Добавляет a
Rectangle2D возразите против этого Rectangle2D . |
boolean |
contains(double x, double y)
Тесты, если указанные координаты в границе
Shape , как описано определением внутренних. |
boolean |
contains(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape полностью содержит указанную прямоугольную область. |
abstract Rectangle2D |
createIntersection(Rectangle2D r)
Возвращает новое
Rectangle2D объект, представляющий пересечение этого Rectangle2D с указанным Rectangle2D . |
abstract Rectangle2D |
createUnion(Rectangle2D r)
Возвращает новое
Rectangle2D объект, представляющий объединение этого Rectangle2D с указанным Rectangle2D . |
boolean |
equals(Object obj)
Определяет действительно ли указанное
Object равно этому Rectangle2D . |
Rectangle2D |
getBounds2D()
Возвращает высокую точность и более точный ограничивающий прямоугольник
Shape чем getBounds метод. |
PathIterator |
getPathIterator(AffineTransform at)
Возвращает итеративный объект, который определяет границу этого
Rectangle2D . |
PathIterator |
getPathIterator(AffineTransform at, double flatness)
Возвращает итеративный объект, который определяет границу сглаженного
Rectangle2D . |
int |
hashCode()
Возвращает хэш-код для этого
Rectangle2D . |
static void |
intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Пересекает пару указанного источника
Rectangle2D объекты и помещают результат в указанное место назначения Rectangle2D объект. |
boolean |
intersects(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанной прямоугольной области. |
boolean |
intersectsLine(double x1, double y1, double x2, double y2)
Тесты, если указанный линейный сегмент пересекает внутреннюю часть этого
Rectangle2D . |
boolean |
intersectsLine(Line2D l)
Тесты, если указанный линейный сегмент пересекает внутреннюю часть этого
Rectangle2D . |
abstract int |
outcode(double x, double y)
Определяет, где указанные координаты лежат относительно этого
Rectangle2D . |
int |
outcode(Point2D p)
Определяет где указанное
Point2D находится относительно этого Rectangle2D . |
void |
setFrame(double x, double y, double w, double h)
Устанавливает расположение и размер внешних границ этого
Rectangle2D к указанным прямоугольным значениям. |
abstract void |
setRect(double x, double y, double w, double h)
Устанавливает расположение и размер этого
Rectangle2D к указанному double значения. |
void |
setRect(Rectangle2D r)
Наборы это
Rectangle2D быть тем же самым как указанным Rectangle2D . |
static void |
union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Объединения пара источника
Rectangle2D объекты и помещают результат в указанное место назначения Rectangle2D объект. |
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
public static final int OUT_LEFT
Rectangle2D
.public static final int OUT_TOP
Rectangle2D
.public static final int OUT_RIGHT
Rectangle2D
.public static final int OUT_BOTTOM
Rectangle2D
.protected Rectangle2D()
Rectangle2D.Float
, Rectangle2D.Double
, Rectangle
public abstract void setRect(double x, double y, double w, double h)
Rectangle2D
к указанному double
значения.x
- X координат верхнего левого угла этого Rectangle2D
y
- координата Y верхнего левого угла этого Rectangle2D
w
- width этого Rectangle2D
h
- height этого Rectangle2D
public void setRect(Rectangle2D r)
Rectangle2D
быть тем же самым как указанным Rectangle2D
.r
- указанное Rectangle2D
public boolean intersectsLine(double x1, double y1, double x2, double y2)
Rectangle2D
.x1
- X координат стартовой точки указанного линейного сегментаy1
- координата Y стартовой точки указанного линейного сегментаx2
- X координат конечной точки указанного линейного сегментаy2
- координата Y конечной точки указанного линейного сегментаtrue
если указанный линейный сегмент пересекает внутреннюю часть этого Rectangle2D
; false
иначе.public boolean intersectsLine(Line2D l)
Rectangle2D
.l
- указанное Line2D
протестировать на пересечение с внутренней частью этого Rectangle2D
true
если указанное Line2D
пересекает внутреннюю часть этого Rectangle2D
; false
иначе.public abstract int outcode(double x, double y)
Rectangle2D
. Этот метод вычисляет двоичный файл, ИЛИ соответствующей маски оценивает указание, для каждой стороны этого Rectangle2D
, являются ли указанные координаты на той же самой стороне края как остальная часть этого Rectangle2D
.x
- указанное X координатy
- указанная координата YOUT_LEFT
, OUT_TOP
, OUT_RIGHT
, OUT_BOTTOM
public int outcode(Point2D p)
Point2D
находится относительно этого Rectangle2D
. Этот метод вычисляет двоичный файл, ИЛИ соответствующей маски оценивает указание, для каждой стороны этого Rectangle2D
, действительно ли указанное Point2D
находится на той же самой стороне края как остальная часть этого Rectangle2D
.p
- указанное Point2D
OUT_LEFT
, OUT_TOP
, OUT_RIGHT
, OUT_BOTTOM
public void setFrame(double x, double y, double w, double h)
Rectangle2D
к указанным прямоугольным значениям.setFrame
в class RectangularShape
x
- X координат верхнего левого угла этого Rectangle2D
y
- координата Y верхнего левого угла этого Rectangle2D
w
- width этого Rectangle2D
h
- height этого Rectangle2D
RectangularShape.getFrame()
public Rectangle2D getBounds2D()
Shape
чем getBounds
метод. Отметьте, что нет никакой гарантии что возвращенный Rectangle2D
самый маленький ограничивающий прямоугольник, который включает Shape
, только то, что Shape
находится полностью в пределах обозначенного Rectangle2D
. Ограничивающий прямоугольник, возвращенный этим методом, обычно более труден чем возвращенное getBounds
метод и никогда не перестал работать должный переполнить проблем, так как возвращаемое значение может быть экземпляром Rectangle2D
это использует значения двойной точности, чтобы сохранить размерности. Отметьте, что определение внутренних может привести к ситуациям где точки на схеме определения shape
возможно, не считается содержавшимся в возвращенном bounds
объект, но только в случаях, где те вопросы также не рассматриваются содержавшиеся в оригинале shape
.
Если a point
в shape
согласно contains(point)
метод, тогда это должно быть в возвращенном Rectangle2D
границы возражают согласно contains(point)
метод bounds
. Определенно:
shape.contains(p)
требует bounds.contains(p)
Если a point
не в shape
, тогда это могло бы все еще содержаться в bounds
объект:
bounds.contains(p)
не подразумевает shape.contains(p)
Rectangle2D
это - ограничивающий прямоугольник высокой точности Shape
.Shape.getBounds()
public boolean contains(double x, double y)
Shape
, как описано определением внутренних.x
- указанное X координат, которые будут протестированыy
- указанные Y координируют, чтобы быть протестированнымиtrue
если указанные координаты в Shape
граница; false
иначе.public boolean intersects(double x, double y, double w, double h)
Shape
пересекает внутреннюю часть указанной прямоугольной области. Прямоугольная область, как полагают, пересекается Shape
если какая-либо точка содержится в обоих внутренняя часть Shape
и указанная прямоугольная область. Shape.intersects()
метод позволяет a Shape
реализация, чтобы консервативно возвратиться true
когда:
Shape
пересекитесь, но Shapes
этот метод мог бы возвратиться true
даже при том, что прямоугольная область не пересекается Shape
. Area
class выполняет более точные вычисления геометрического пересечения чем больше всего Shape
объекты и поэтому могут использоваться, если более точный ответ требуется.x
- X координат верхнего левого угла указанной прямоугольной областиy
- координата Y верхнего левого угла указанной прямоугольной областиw
- width указанной прямоугольной областиh
- height указанной прямоугольной областиtrue
если внутренняя часть Shape
и внутренняя часть прямоугольной области пересекается, или, и, очень вероятно, пересечется и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false
иначе.Area
public boolean contains(double x, double y, double w, double h)
Shape
полностью содержит указанную прямоугольную область. Все координаты, которые лежат в прямоугольной области, должны лечь в пределах Shape
для всей rectanglar области, которую рассмотрят содержавший в пределах Shape
. Shape.contains()
метод позволяет a Shape
реализация, чтобы консервативно возвратиться false
когда:
intersect
возвраты метода true
и Shape
полностью содержит прямоугольную область, предельно дороги. Shapes
этот метод мог бы возвратиться false
даже при том, что Shape
содержит прямоугольную область. Area
class выполняет более точные геометрические вычисления чем больше всего Shape
объекты и поэтому могут использоваться, если более точный ответ требуется.x
- X координат верхнего левого угла указанной прямоугольной областиy
- координата Y верхнего левого угла указанной прямоугольной областиw
- width указанной прямоугольной областиh
- height указанной прямоугольной областиtrue
если внутренняя часть Shape
полностью содержит указанную прямоугольную область; false
иначе или, если Shape
содержит прямоугольную область и intersects
возвраты метода true
и вычисления включения были бы слишком дороги, чтобы выполнить.Area
, Shape.intersects(double, double, double, double)
public abstract Rectangle2D createIntersection(Rectangle2D r)
Rectangle2D
объект, представляющий пересечение этого Rectangle2D
с указанным Rectangle2D
.r
- Rectangle2D
быть пересеченным с этим Rectangle2D
Rectangle2D
содержавшийся в обоих указанное Rectangle2D
и в этом Rectangle2D
.public static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Rectangle2D
объекты и помещают результат в указанное место назначения Rectangle2D
объект. Один из исходных прямоугольников может также быть местом назначения, чтобы избежать создавать третий объект Rectangle2D, но в этом случае исходные точки этого исходного прямоугольника будут перезаписаны этим методом.src1
- первая из пары Rectangle2D
объекты, которые будут пересечены друг с другомsrc2
- вторая из пары Rectangle2D
объекты, которые будут пересечены друг с другомdest
- Rectangle2D
это содержит результаты пересечения src1
и src2
public abstract Rectangle2D createUnion(Rectangle2D r)
Rectangle2D
объект, представляющий объединение этого Rectangle2D
с указанным Rectangle2D
.r
- Rectangle2D
быть объединенным с этим Rectangle2D
Rectangle2D
содержа обоих указанное Rectangle2D
и это Rectangle2D
.public static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Rectangle2D
объекты и помещают результат в указанное место назначения Rectangle2D
объект. Один из исходных прямоугольников может также быть местом назначения, чтобы избежать создавать третий объект Rectangle2D, но в этом случае исходные точки этого исходного прямоугольника будут перезаписаны этим методом.src1
- первая из пары Rectangle2D
объекты, которые будут объединены друг с другомsrc2
- вторая из пары Rectangle2D
объекты, которые будут объединены друг с другомdest
- Rectangle2D
это содержит результаты объединения src1
и src2
public void add(double newx, double newy)
newx
и newy
, к этому Rectangle2D
. Получающееся Rectangle2D
является самым маленьким Rectangle2D
это содержит обоих оригинал Rectangle2D
и указанная точка. После добавления точки, звонка contains
с добавленной точкой, поскольку не обязательно возвращается параметр true
. contains
метод не возвращается true
для точек на правых или базовых краях прямоугольника. Поэтому, если добавленная точка падает на левый или базовый край увеличенного прямоугольника, contains
возвраты false
для той точки.
newx
- X координат новой точкиnewy
- координата Y новой точкиpublic void add(Point2D pt)
Point2D
объект pt
к этому Rectangle2D
. Получающееся Rectangle2D
является самым маленьким Rectangle2D
это содержит обоих оригинал Rectangle2D
и указанное Point2D
. После добавления точки, звонка contains
с добавленной точкой, поскольку не обязательно возвращается параметр true
. contains
метод не возвращается true
для точек на правых или базовых краях прямоугольника. Поэтому, если добавленная точка падает на левый или базовый край увеличенного прямоугольника, contains
возвраты false
для той точки.
pt
- новое Point2D
добавить к этому Rectangle2D
.public void add(Rectangle2D r)
Rectangle2D
возразите против этого Rectangle2D
. Получающееся Rectangle2D
объединение двух Rectangle2D
объекты.r
- Rectangle2D
добавить к этому Rectangle2D
.public PathIterator getPathIterator(AffineTransform at)
Rectangle2D
. iterator для этого class является многопоточным сейфом, что означает что это Rectangle2D
class гарантирует что модификации геометрии этого Rectangle2D
объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.at
- дополнительное AffineTransform
быть примененным к координатам, поскольку они возвращаются в итерации, или null
если непреобразованные координаты требуютсяPathIterator
возразите, что возвращает геометрию схемы этого Rectangle2D
, один сегмент за один раз.public PathIterator getPathIterator(AffineTransform at, double flatness)
Rectangle2D
. Так как прямоугольники являются уже плоскими, flatness
параметр игнорируется. iterator для этого class является многопоточным сейфом, что означает что это Rectangle2D
class гарантирует что модификации геометрии этого Rectangle2D
объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator
в интерфейсе Shape
getPathIterator
в class RectangularShape
at
- дополнительное AffineTransform
быть примененным к координатам, поскольку они возвращаются в итерации, или null
если непреобразованные координаты требуютсяflatness
- максимальное расстояние, которое линейным сегментам, используемым, чтобы приблизить кривые сегменты, позволяют отклонить от любой точки на исходной кривой. Так как прямоугольники являются уже плоскими, flatness
параметр игнорируется.PathIterator
возразите, что возвращает геометрию схемы этого Rectangle2D
, один сегмент за один раз.public int hashCode()
Rectangle2D
.hashCode
в class Object
Rectangle2D
.Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
Object
равно этому Rectangle2D
. Указанное Object
равно этому Rectangle2D
если это - экземпляр Rectangle2D
и если его расположение и размер являются тем же самым как этим Rectangle2D
.equals
в class Object
obj
- Object
быть по сравнению с этим Rectangle2D
.true
если obj
экземпляр Rectangle2D
и имеет те же самые значения; false
иначе.Object.hashCode()
, HashMap
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92