|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Area extends Object implements Shape, Cloneable
Area объектно-ориентированные памяти и управляют независимым от разрешения описанием включенной области 2-мерного пространства. Area объекты могут быть преобразованы и могут выполнить различную Конструктивную Геометрию области (CAG) операции когда объединено с другим Area объекты. Операции CAG включают область addition, subtraction, intersection, и exclusive or. См. соединенную документацию метода для примеров различных операций. Area class реализует Shape взаимодействуйте через интерфейс и обеспечивает полную поддержку всего ее тестирования хита и итеративных средств пути, но Area является более определенным чем обобщенный путь многими способами:
Area объекты, созданные из открытых путей, неявно закрываются во время конструкции, как будто те пути были заполнены Graphics2D.fill метод. Area напоминает путь, из которого это было создано только, в котором это описывает ту же самую включенную 2-мерную область, но может использовать полностью различные типы и упорядочивание сегментов пути, чтобы сделать так. Area включайте: Area от (открытого) открытого Shape результаты в окруженной схеме Area объект. Area от a Shape то, который не включает области (даже когда "закрыто") производит пустое Area. Типичный пример этой проблемы является тем созданием Area от строки будет пусто, так как строка не включает области. Пустое Area не выполнит итерации никакой геометрии в PathIterator объекты. Shape может быть разделен на два (или больше) подпути каждый включающий одну из непересекающихся частей исходного пути. Area может взять больше сегментов пути, чтобы описать ту же самую геометрию, даже когда исходная схема проста и очевидна. Анализ, что Area class должен выполнить на пути, возможно, не отражает то же самое понятие "простого и очевидного", как человек чувствует. | Конструктор и Описание |
|---|
Area()
Конструктор по умолчанию, который создает пустую область.
|
Area(Shape s)
Area class создает геометрию области из указанного Shape объект. |
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
add(Area rhs)
Добавляет форма указанного
Area к форме этого Area. |
Объект |
clone()
Возвращает точную копию этого
Area объект. |
boolean |
contains(double x, double y)
Тесты, если указанные координаты в границе
Shape, как описано определением внутренних. |
boolean |
contains(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape полностью содержит указанную прямоугольную область. |
boolean |
contains(Point2D p)
|
boolean |
contains(Rectangle2D r)
Тесты, если внутренняя часть
Shape полностью содержит указанное Rectangle2D. |
Область |
createTransformedArea(AffineTransform t)
Создает новое
Area объект, который содержит ту же самую геометрию как это Area преобразованный указанным AffineTransform. |
boolean |
equals(Area other)
Тесты, ли конфигурации двух
Area объекты равны. |
void |
exclusiveOr(Area rhs)
Устанавливает форму этого
Area быть объединенной областью его текущей формы и формы указанного Area, минус их пересечение. |
Прямоугольник |
getBounds()
Возвращает ограничение
Rectangle это полностью включает это Area. |
Rectangle2D |
getBounds2D()
Возвращает высокое ограничение точности
Rectangle2D это полностью включает это Area. |
PathIterator |
getPathIterator(AffineTransform at)
Создает a
PathIterator для схемы этого Area объект. |
PathIterator |
getPathIterator(AffineTransform at, double flatness)
Создает a
PathIterator для сглаженной схемы этого Area объект. |
void |
intersect(Area rhs)
Устанавливает форму этого
Area к пересечению его текущей формы и формы указанного Area. |
boolean |
intersects(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанной прямоугольной области. |
boolean |
intersects(Rectangle2D r)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанного Rectangle2D. |
boolean |
isEmpty()
Тесты, ли это
Area объект включает любую область. |
boolean |
isPolygonal()
Тесты, ли это
Area состоит полностью из прямой ограниченной многоугольной геометрии. |
boolean |
isRectangular()
Тесты, ли это
Area является прямоугольным в форме. |
boolean |
isSingular()
Тесты, ли это
Area состоит из единственного закрытого подпути. |
void |
reset()
Удаляет всю геометрию от этого
Area и восстановления это к пустой области. |
void |
subtract(Area rhs)
Вычитает форму указанного
Area от формы этого Area. |
void |
transform(AffineTransform t)
Преобразовывает геометрию этого
Area использование указанного AffineTransform. |
public Area()
public Area(Shape s)
Area class создает геометрию области из указанного Shape объект. Геометрия явно закрывается, если Shape уже не закрывается. Правило заливки (даже нечетный или вьющийся) определенный геометрией Shape используется, чтобы определить получающуюся включенную область.s - Shape из которого создается областьNullPointerException - если s нульpublic void add(Area rhs)
Area к форме этого Area. Получающаяся форма этого Area будет включать объединение обеих форм, или все области, которые содержались или в этом или в указанном Area.
// Example:
Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]);
Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]);
a1.add(a2);
a1(before) + a2 = a1(after)
################ ################ ################
############## ############## ################
############ ############ ################
########## ########## ################
######## ######## ################
###### ###### ###### ######
#### #### #### ####
## ## ## ##
rhs - Area быть добавленным к текущей формеNullPointerException - если rhs нульpublic void subtract(Area rhs)
Area от формы этого Area. Получающаяся форма этого Area будет включать области, которые содержались только в этом Area а не в указанном Area.
// Example:
Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]);
Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]);
a1.subtract(a2);
a1(before) - a2 = a1(after)
################ ################
############## ############## ##
############ ############ ####
########## ########## ######
######## ######## ########
###### ###### ######
#### #### ####
## ## ##
rhs - Area быть вычтенным из текущей формыNullPointerException - если rhs нульpublic void intersect(Area rhs)
Area к пересечению его текущей формы и формы указанного Area. Получающаяся форма этого Area будет включать только области, которые содержались в обоих это Area и также в указанном Area.
// Example:
Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]);
Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]);
a1.intersect(a2);
a1(before) intersect a2 = a1(after)
################ ################ ################
############## ############## ############
############ ############ ########
########## ########## ####
######## ########
###### ######
#### ####
## ##
rhs - Area быть пересеченным с этим AreaNullPointerException - если rhs нульpublic void exclusiveOr(Area rhs)
Area быть объединенной областью его текущей формы и формы указанного Area, минус их пересечение. Получающаяся форма этого Area будет включать только области, которые содержались в любом это Area или в указанном Area, но не в обоих.
// Example:
Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]);
Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]);
a1.exclusiveOr(a2);
a1(before) xor a2 = a1(after)
################ ################
############## ############## ## ##
############ ############ #### ####
########## ########## ###### ######
######## ######## ################
###### ###### ###### ######
#### #### #### ####
## ## ## ##
rhs - Area быть монопольным ORed с этим Area.NullPointerException - если rhs нульpublic void reset()
Area и восстановления это к пустой области.public boolean isEmpty()
Area объект включает любую область.true если это Area объект представляет пустую область; false иначе.public boolean isPolygonal()
Area состоит полностью из прямой ограниченной многоугольной геометрии.true если геометрия этого Area состоит полностью из линейных сегментов; false иначе.public boolean isRectangular()
Area является прямоугольным в форме.true если геометрия этого Area является прямоугольным в форме; false иначе.public boolean isSingular()
Area состоит из единственного закрытого подпути. Этот метод возвраты true если путь содержит 0 или 1 подпуть, или false если путь содержит больше чем 1 подпуть. Подпути считаются числом SEG_MOVETO сегменты, которые появляются в пути.true если Area состоит из единственной основной геометрии; false иначе.public Rectangle2D getBounds2D()
Rectangle2D это полностью включает это Area. Область class попытается возвратить самый трудный ограничивающий прямоугольник, возможный для Формы. Ограничивающий прямоугольник не будет дополнен, чтобы включать контрольные точки кривых в схеме Формы, но если плотно прилегающим образом фактическая геометрия схемы непосредственно.
getBounds2D в интерфейсе ShapeRectangle2D для Area.Shape.getBounds()public Rectangle getBounds()
Rectangle это полностью включает это Area. Область class попытается возвратить самый трудный ограничивающий прямоугольник, возможный для Формы. Ограничивающий прямоугольник не будет дополнен, чтобы включать контрольные точки кривых в схеме Формы, но если плотно прилегающим образом фактическая геометрия схемы непосредственно. Так как возвращенный объект представляет ограничивающий прямоугольник с целыми числами, ограничивающий прямоугольник может только быть столь же трудным как самые близкие целочисленные координаты, которые охватывают геометрию Формы.
getBounds в интерфейсе ShapeRectangle для Area.Shape.getBounds2D()public Object clone()
Area объект.public boolean equals(Area other)
Area объекты равны. Этот метод возвратит false, если параметром будет нуль.other - Area быть по сравнению с этим Areatrue если эти два конфигураций равны; false иначе.public void transform(AffineTransform t)
Area использование указанного AffineTransform. Геометрия преобразовывается на месте, который постоянно изменяет включенную область, определенную этим объектом.t - преобразование, используемое, чтобы преобразовать областьNullPointerException - если t нульpublic Area createTransformedArea(AffineTransform t)
Area объект, который содержит ту же самую геометрию как это Area преобразованный указанным AffineTransform. Это Area объект неизменен.t - указанное AffineTransform используемый, чтобы преобразовать новое AreaArea объект, представляющий преобразованную геометрию.NullPointerException - если t нульpublic boolean contains(double x,
double y)
Shape, как описано определением внутренних.public boolean contains(Point2D p)
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 объекты и поэтому могут использоваться, если более точный ответ требуется.contains в интерфейсе Shapex - X координат верхнего левого угла указанной прямоугольной областиy - координата Y верхнего левого угла указанной прямоугольной областиw - width указанной прямоугольной областиh - height указанной прямоугольной областиtrue если внутренняя часть Shape полностью содержит указанную прямоугольную область; false иначе или, если Shape содержит прямоугольную область и intersects возвраты метода true и вычисления включения были бы слишком дороги, чтобы выполнить.Area, Shape.intersects(double, double, double, double)public boolean contains(Rectangle2D r)
Shape полностью содержит указанное Rectangle2D. Shape.contains() метод позволяет a Shape реализация, чтобы консервативно возвратиться false когда: intersect возвраты метода true и Shape полностью содержит Rectangle2D предельно дороги. Shapes этот метод мог бы возвратиться false даже при том, что Shape содержит Rectangle2D. Area class выполняет более точные геометрические вычисления чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется.contains в интерфейсе Shaper - Указанное Rectangle2Dtrue если внутренняя часть Shape полностью содержит Rectangle2D; false иначе или, если Shape содержит Rectangle2D и intersects возвраты метода true и вычисления включения были бы слишком дороги, чтобы выполнить.Shape.contains(double, double, double, double)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 объекты и поэтому могут использоваться, если более точный ответ требуется.intersects в интерфейсе Shapex - X координат верхнего левого угла указанной прямоугольной областиy - координата Y верхнего левого угла указанной прямоугольной областиw - width указанной прямоугольной областиh - height указанной прямоугольной областиtrue если внутренняя часть Shape и внутренняя часть прямоугольной области пересекается, или, и, очень вероятно, пересечется и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false иначе.Areapublic boolean intersects(Rectangle2D r)
Shape пересекает внутреннюю часть указанного Rectangle2D. Shape.intersects() метод позволяет a Shape реализация, чтобы консервативно возвратиться true когда: Rectangle2D и Shape пересекитесь, но Shapes этот метод мог бы возвратиться true даже при том, что Rectangle2D не пересекается Shape. Area class выполняет более точные вычисления геометрического пересечения чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется.intersects в интерфейсе Shaper - указанное Rectangle2Dtrue если внутренняя часть Shape и внутренняя часть указанного Rectangle2D пересекитесь, или, и, очень вероятно, пересекутся и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false иначе.Shape.intersects(double, double, double, double)public PathIterator getPathIterator(AffineTransform at)
getPathIterator в интерфейсе Shapeat - дополнительное AffineTransform быть примененным к координатам, поскольку они возвращаются в итерации, или null если непреобразованные координаты требуютсяPathIterator возразите, что возвращает геометрию схемы этого Area, один сегмент за один раз.public PathIterator getPathIterator(AffineTransform at, double flatness)
PathIterator для сглаженной схемы этого Area объект. Только некривые сегменты пути, представленные SEG_MOVETO, SEG_LINETO, и типами точки SEG_CLOSE, возвращаются iterator. Это Area объект неизменен.getPathIterator в интерфейсе Shapeat - дополнительное AffineTransform быть примененным к координатам, поскольку они возвращаются в итерации, или null если непреобразованные координаты требуютсяflatness - максимальное количество, которое контрольные точки для данной кривой могут изменить от colinear перед подразделенной кривой, заменяется прямой линией, соединяющей конечные точкиPathIterator возразите, что возвращает геометрию схемы этого Area, один сегмент за один раз.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92