Spec-Zone.ru › OpenJDK 8

Класс Rectangle

  • java.lang.Object
    • java.awt.geom.RectangularShape
      • java.awt.geom.Rectangle2D
        • java.awt.Rectangle
Все реализованные интерфейсы:
Shape, Serializable, Cloneable
Прямые известные подклассы:
DefaultCaret

public class Rectangle
extends Rectangle2D
implements Shape, Serializable

Объект Rectangle задаёт область в системе координат, ограниченную точкой верхнего левого угла (x,y) в этой системе координат, её шириной и высотой.

Ширина и высота объекта Rectangle являются полями public. Конструкторы, создающие объект Rectangle, и методы, которые могут изменить его, не препятствуют установлению отрицательных значений для ширины или высоты.

Объект Rectangle с шириной или высотой ровно ноль расположен на осях с нулевой размерностью, но при этом считается пустым. Метод isEmpty() вернёт true для такого объекта Rectangle. Методы, проверяющие, содержит ли или пересекает ли пустой объект Rectangle точку или прямоугольник, всегда вернут false, если хотя бы одна размерность равна нулю. Методы, комбинирующие такой объект Rectangle с точкой или прямоугольником, включат координаты Rectangle на данной оси в результат, как будто вызывался метод add(Point).

Объект Rectangle с отрицательной шириной или высотой не имеет ни координат, ни размерности по соответствующим осям с отрицательными размерностями. Такой объект Rectangle считается не существующим по этим осям. Такой объект Rectangle также пуст в отношении вычислений содержания, и методы, проверяющие, содержит ли или пересекает ли он точку или прямоугольник, всегда вернут false. Методы, комбинирующие такой объект Rectangle с точкой или прямоугольником, полностью игнорируют Rectangle при формировании результата. Если два объекта Rectangle комбинируются, и каждый имеет отрицательную размерность, результат будет иметь по крайней мере одну отрицательную размерность.

Методы, которые влияют только на положение объекта Rectangle будут действовать на его положение независимо от того, имеет ли он отрицательную или нулевую размерность по любой оси.

Обратите внимание, что объект Rectangle , созданный с помощью конструктора по умолчанию без аргументов, будет иметь размеры 0x0 и, следовательно, будет пустым. Этот объект Rectangle всё же будет иметь координаты (0,0) и будет вносить эти координаты в операции объединения и добавления. Поэтому код, пытающийся аккумулировать границы набора точек, должен изначально создать объект Rectangle с явно заданной отрицательной шириной и высотой, или он должен использовать первую точку в наборе для создания объекта Rectangle. Например:

Rectangle bounds = new Rectangle(0, 0, -1, -1);
     for (int i = 0; i < points.length; i++) {
         bounds.add(points[i]);
     }
или если известно, что массив точек содержит по крайней мере одну точку:
Rectangle bounds = new Rectangle(points[0]);
     for (int i = 1; i < points.length; i++) {
         bounds.add(points[i]);
     }

Этот класс использует 32-битные целые числа для хранения своих координат и размеров. Часто операции могут привести к результату, превышающему диапазон 32-битного целого числа. Методы будут рассчитывать свои результаты таким образом, чтобы избежать переполнения 32-битных целых чисел для промежуточных результатов, а затем выберут наилучшее представление для хранения конечных результатов обратно в 32-битные поля, хранящие координаты и размеры. Координаты результата будут сохранены в поля x и y путём усечения истинного результата до ближайшего 32-битного значения. Значения, хранящиеся в полях width и height, будут выбраны как 32-битные значения, которые охватывают наибольшую возможную часть истинного результата. Как правило, это означает, что размерность будет усечена до диапазона 32-битных целых чисел, за исключением случая, когда для хранения координат необходимо было сдвинуть положение, в этом случае размеры будут скорректированы относительно «лучшего представления» координат. Если истинный результат имел отрицательную размерность и, следовательно, не существовал по одной или обеим осям, сохранённые размеры будут отрицательными числами на этих осях. Если истинный результат имел координаты, которые могли быть представлены в диапазоне 32-битных целых чисел, но нулевую размерность по одной или обеим осям, сохранённые размеры будут нулевыми на этих осях.

С момента:
1.0
См. также:
Сериализованная форма

Вложенные классы

Вложенные классы/интерфейсы, унаследованные от класса java.awt.geom.Rectangle2D

Rectangle2D.Double, Rectangle2D.Float

Поля

Модификатор и тип Поле и описание
int height

Высота Rectangle.

int width

Ширина Rectangle.

int x

Координата X верхнего левого угла Rectangle.

int y

Координата Y верхнего левого угла Rectangle.

Поля, унаследованные от класса java.awt.geom.Rectangle2D

OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP

Краткое описание конструкторов

Конструктор и описание
Rectangle()

Создаёт новый объект Rectangle с верхним левым углом в (0, 0) в системе координат и шириной и высотой, равными нулю.

Rectangle(Dimension d)

Создаёт новый объект Rectangle с верхним левым углом в (0, 0) и шириной и высотой, заданными аргументом Dimension.

Rectangle(int width, int height)

Создаёт новый объект Rectangle с верхним левым углом в (0, 0) в системе координат и шириной и высотой, заданными аргументами с соответствующими именами.

Rectangle(int x, int y, int width, int height)

Создаёт новый объект Rectangle с верхним левым углом, заданным как (x,y), и шириной и высотой, заданными аргументами с соответствующими именами.

Rectangle(Point p)

Создаёт новый объект Rectangle с верхним левым углом, заданным как указанная Point, и шириной и высотой, равными нулю.

Rectangle(Point p, Dimension d)

Создаёт новый объект Rectangle с верхним левым углом, заданным аргументом Point, и шириной и высотой, заданными аргументом Dimension.

Rectangle(Rectangle r)

Создаёт новый объект Rectangle, инициализированный, чтобы соответствовать значениям указанного объекта Rectangle.

Краткое описание методов

Модификатор и тип Метод и описание
void add(int newx, int newy)

Добавляет точку, заданную целочисленными аргументами newx,newy к границам этого Rectangle.

void add(Point pt)

Добавляет указанную Point к границам этого Rectangle.

void add(Rectangle r)

Добавляет Rectangle к этому Rectangle.

boolean contains(int x, int y)

Проверяет, содержит ли этот Rectangle точку в указанном расположении (x,y).

boolean contains(int X, int Y, int W, int H)

Проверяет, полностью ли этот Rectangle содержит Rectangle в указанном расположении (X,Y) с заданными размерами (W,H).

boolean contains(Point p)

Проверяет, содержит ли этот Rectangle указанную Point.

boolean contains(Rectangle r)

Проверяет, полностью ли этот Rectangle содержит указанную Rectangle.

Rectangle2D createIntersection(Rectangle2D r)

Возвращает новый объект Rectangle2D, представляющий пересечение этого Rectangle2D с указанным Rectangle2D.

Rectangle2D createUnion(Rectangle2D r)

Возвращает новый объект Rectangle2D, представляющий объединение этого Rectangle2D с указанным Rectangle2D.

boolean equals(Object obj)

Проверяет, равны ли два прямоугольника.

Rectangle getBounds()

Получает ограничивающую Rectangle этого Rectangle.

Rectangle2D getBounds2D()

Возвращает ограничивающую рамку Shape с большей точностью, чем метод getBounds.

double getHeight()

Возвращает высоту ограничивающей Rectangle в точности double.

Point getLocation()

Возвращает расположение этого Rectangle.

Dimension getSize()

Получает размер этого Rectangle, представленный возвращенным Dimension.

double getWidth()

Возвращает ширину ограничивающей Rectangle в точности double.

double getX()

Возвращает координату X ограничивающей Rectangle в точности double.

double getY()

Возвращает координату Y ограничивающей Rectangle в точности double.

void grow(int h, int v)

Изменяет размер Rectangle как по горизонтали, так и по вертикали.

boolean inside(int X, int Y)

Устарело.

С версии JDK 1.1 заменено на contains(int, int).

Rectangle intersection(Rectangle r)

Вычисляет пересечение этого Rectangle с указанным Rectangle.

boolean intersects(Rectangle r)

Определяет, пересекаются ли этот Rectangle и указанный Rectangle.

boolean isEmpty()

Определяет, пуст ли RectangularShape.

void move(int x, int y)

Устарело.

С версии JDK 1.1 заменено на setLocation(int, int).

int outcode(double x, double y)

Определяет, где указанные координаты лежат относительно этого Rectangle2D.

void reshape(int x, int y, int width, int height)

Устарело.

С версии JDK 1.1 заменено на setBounds(int, int, int, int).

void resize(int width, int height)

Устарело.

С версии JDK 1.1 заменено на setSize(int, int).

void setBounds(int x, int y, int width, int height)

Устанавливает ограничивающую Rectangle этого Rectangle на заданные x, y, width, и height.

void setBounds(Rectangle r)

Устанавливает ограничивающую Rectangle этого Rectangle в соответствии с указанным Rectangle.

void setLocation(int x, int y)

Перемещает этот Rectangle в указанное расположение.

void setLocation(Point p)

Перемещает этот Rectangle в указанное расположение.

void setRect(double x, double y, double width, double height)

Устанавливает границы этого Rectangle на целочисленные границы, которые охватывают указанные x, y, width, и height.

void setSize(Dimension d)

Устанавливает размер этого Rectangle в соответствии с указанным Dimension.

void setSize(int width, int height)

Устанавливает размер этого Rectangle на указанную ширину и высоту.

String toString()

Возвращает String, представляющий этот Rectangle и его значения.

void translate(int dx, int dy)

Переводит этот Rectangle на указанное расстояние вправо по оси X и вниз по оси Y.

Rectangle union(Rectangle r)

Вычисляет объединение этого Rectangle с указанным Rectangle.

Методы, унаследованные от класса java.awt.geom.Rectangle2D

add, add, add, contains, contains, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, setRect, union

Методы, унаследованные от класса java.awt.geom.RectangularShape

clone, contains, contains, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal

Методы, унаследованные от класса java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, унаследованные от интерфейса java.awt.Shape

contains, contains, contains, contains, getPathIterator, getPathIterator, intersects, intersects

Поля

x

public int x

Координата X левого верхнего угла Rectangle.

С момента:
1.0
См. также:
setLocation(int, int), getLocation()

y

public int y

Координата Y левого верхнего угла Rectangle.

С момента:
1.0
См. также:
setLocation(int, int), getLocation()

width

public int width

Ширина Rectangle.

С момента:
1.0
См. также:
setSize(int, int), getSize()

height

public int height

Высота Rectangle.

С момента:
1.0
См. также:
setSize(int, int), getSize()

Конструкторы

Rectangle

public Rectangle()

Создаёт новый Rectangle, у которого левый верхний угол находится в (0, 0) в системе координат, а ширина и высота равны нулю.

Rectangle

public Rectangle(Rectangle r)

Создаёт новый Rectangle, инициализированный для соответствия значениям указанного Rectangle.

Параметры:
r - Rectangle для копирования начальных значений в новый Rectangle
С момента:
1.1

Rectangle

public Rectangle(int x,
                 int y,
                 int width,
                 int height)

Создаёт новый Rectangle с указанным левым верхним углом (x,y) и шириной и высотой, заданными аргументами с одинаковыми именами.

Параметры:
x - указанная координата X
y - указанная координата Y
width - ширина Rectangle
height - высота Rectangle
С момента:
1.0

Rectangle

public Rectangle(int width,
                 int height)

Создаёт новый Rectangle с левым верхним углом в (0, 0) в системе координат, а ширина и высота задаются аргументами с одинаковыми именами.

Параметры:
width - ширина Rectangle
height - высота Rectangle

Rectangle

public Rectangle(Point p,
                 Dimension d)

Создаёт новый Rectangle с левым верхним углом, заданным аргументом Point, и шириной и высотой, заданными аргументом Dimension.

Параметры:
p - Point, являющийся левым верхним углом Rectangle
d - Dimension, представляющий ширину и высоту Rectangle

Rectangle

public Rectangle(Point p)

Создаёт новый Rectangle с указанным левым верхним углом Point, а ширина и высота равны нулю.

Параметры:
p - Point, являющийся левым верхним углом Rectangle

Rectangle

public Rectangle(Dimension d)

Создаёт новый Rectangle с левым верхним углом (0, 0) и шириной и высотой, заданными аргументом Dimension.

Параметры:
d - Dimension, определяющий ширину и высоту

Методы

getX

public double getX()

Возвращает координату X ограничивающего Rectangle в точности double.

Задано:
getX в классе RectangularShape
Возвращает:
координату X ограничивающего Rectangle.

getY

public double getY()

Возвращает координату Y ограничивающего Rectangle в точности double.

Задано:
getY в классе RectangularShape
Возвращает:
координату Y ограничивающего Rectangle.

getWidth

public double getWidth()

Возвращает ширину ограничивающего Rectangle в точности double.

Задано:
getWidth в классе RectangularShape
Возвращает:
ширину ограничивающего Rectangle.

getHeight

public double getHeight()

Возвращает высоту ограничивающего Rectangle в точности double.

Задано:
getHeight в классе RectangularShape
Возвращает:
высоту ограничивающего Rectangle.

getBounds

public Rectangle getBounds()

Получает ограничивающий Rectangle этого Rectangle.

Этот метод включён для полноты, для соответствия методу getBounds класса Component.

Задано:
getBounds в интерфейсе Shape
Переопределяет:
getBounds в классе RectangularShape
Возвращает:
новый Rectangle, равный ограничивающему Rectangle для этого Rectangle.
С момента:
1.1
См. также:
Component.getBounds(), setBounds(Rectangle), setBounds(int, int, int, int)

getBounds2D

public Rectangle2D getBounds2D()

Возвращает ограничивающую рамку Shape с большей точностью, чем метод getBounds. Обратите внимание, что нет гарантии, что возвращаемый Rectangle2D является наименьшей ограничивающей рамкой, охватывающей Shape, только что Shape целиком лежит внутри указанной Rectangle2D. Ограничивающая рамка, возвращаемая этим методом, обычно уже, чем возвращаемая методом getBounds, и никогда не терпит сбоев из-за проблем переполнения, так как возвращаемое значение может быть экземпляром Rectangle2D, который использует значения двойной точности для хранения размеров.

Обратите внимание, что определение принадлежности может привести к ситуациям, когда точки на определяющей линии shape могут не считаться содержащимися в возвращаемом bounds объекте, но только в тех случаях, когда эти точки также не считаются содержащимися в исходном shape.

Если point находится внутри shape в соответствии с методом contains(point), то он должен находиться внутри возвращаемого Rectangle2D ограничивающего объекта в соответствии с методом contains(point) bounds. Конкретно:

shape.contains(p) требует bounds.contains(p)

Если point не находится внутри shape, то он всё же может быть содержащимся в объекте bounds:

bounds.contains(p) не подразумевает shape.contains(p)

Задано:
getBounds2D в интерфейсе Shape
Переопределяет:
getBounds2D в классе Rectangle2D
Возвращает:
экземпляр Rectangle2D, который является ограничивающей рамкой Shape с высокой точностью.
С момента:
1.2
См. также:
Shape.getBounds()

setBounds

public void setBounds(Rectangle r)

Устанавливает ограничивающую рамку этого Rectangle для соответствия указанному Rectangle.

Этот метод включён для полноты, для соответствия методу setBounds Component.

Параметры:
r - указанный Rectangle
С момента:
1.1
См. также:
getBounds(), Component.setBounds(java.awt.Rectangle)

setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)

Устанавливает ограничивающую рамку этого Rectangle для указанных x, y, width и height.

Этот метод включён для полноты, для соответствия методу setBounds Component.

Параметры:
x - новая координата X для левого верхнего угла этого Rectangle
y - новая координата Y для левого верхнего угла этого Rectangle
width - новая ширина для этого Rectangle
height - новая высота для этого Rectangle
С момента:
1.1
См. также:
getBounds(), Component.setBounds(int, int, int, int)

setRect

public void setRect(double x,
                    double y,
                    double width,
                    double height)

Устанавливает границы этого Rectangle до целочисленных границ, которые охватывают указанные x, y, width и height. Если параметры определяют Rectangle которые превышают максимальный диапазон целых чисел, результат будет наилучшим представлением указанных Rectangle пересечённых с максимальными целочисленными границами.

Указано в:
setRect в классе Rectangle2D
Параметры:
x - координата X верхнего левого угла заданного прямоугольника
y - координата Y верхнего левого угла заданного прямоугольника
width - ширина заданного прямоугольника
height - новая высота заданного прямоугольника

reshape

@Deprecated
public void reshape(int x,
                                int y,
                                int width,
                                int height)

Устарело. Начиная с версии JDK 1.1, заменено на setBounds(int, int, int, int).

Устанавливает ограничивающий прямоугольник этого Rectangle в указанные x, y, width, и height.

Параметры:
x - новая координата X для верхнего левого угла этого Rectangle
y - новая координата Y для верхнего левого угла этого Rectangle
width - новая ширина для этого Rectangle
height - новая высота для этого Rectangle

getLocation

public Point getLocation()

Возвращает расположение этого Rectangle.

Этот метод включён для полноты, для соответствия методу getLocation класса Component.

Возвращает:
точку Point, которая является верхним левым углом этого Rectangle.
С:
1.1
См. также:
Component.getLocation(), setLocation(Point), setLocation(int, int)

setLocation

public void setLocation(Point p)

Перемещает этот Rectangle в указанное расположение.

Этот метод включён для полноты, для соответствия методу setLocation класса Component.

Параметры:
p - точка Point, определяющая новое расположение для этого Rectangle
С:
1.1
См. также:
Component.setLocation(java.awt.Point), getLocation()

setLocation

public void setLocation(int x,
                        int y)

Перемещает этот Rectangle в указанное расположение.

Этот метод включён для полноты, для соответствия методу setLocation класса Component.

Параметры:
x - координата X нового расположения
y - координата Y нового расположения
С:
1.1
См. также:
getLocation(), Component.setLocation(int, int)

move

@Deprecated
public void move(int x,
                             int y)

Устарело. Начиная с версии JDK 1.1, заменено на setLocation(int, int).

Перемещает этот Rectangle в указанное расположение.

Параметры:
x - координата X нового расположения
y - координата Y нового расположения

translate

public void translate(int dx,
                      int dy)

Перемещает этот Rectangle на указанное расстояние, вправо по оси X и вниз по оси Y.

Параметры:
dx - расстояние перемещения этого Rectangle по оси X
dy - расстояние перемещения этого Rectangle по оси Y
См. также:
setLocation(int, int), setLocation(java.awt.Point)

getSize

public Dimension getSize()

Получает размер этого Rectangle, представленный возвращаемым Dimension.

Этот метод включён для полноты, для соответствия методу getSize класса Component.

Возвращает:
объект Dimension, представляющий размер этого Rectangle.
С:
1.1
См. также:
Component.getSize(), setSize(Dimension), setSize(int, int)

setSize

public void setSize(Dimension d)

Устанавливает размер этого Rectangle в соответствии с указанным Dimension.

Этот метод включён для полноты, для соответствия методу setSize класса Component.

Параметры:
d - новый размер объекта Dimension
С:
1.1
См. также:
Component.setSize(java.awt.Dimension), getSize()

setSize

public void setSize(int width,
                    int height)

Устанавливает размер этого Rectangle в соответствии с указанной шириной и высотой.

Этот метод включён для полноты, для соответствия методу setSize класса Component.

Параметры:
width - новая ширина для этого Rectangle
height - новая высота для этого Rectangle
С:
1.1
См. также:
Component.setSize(int, int), getSize()

resize

@Deprecated
public void resize(int width,
                               int height)

Устарело. Начиная с версии JDK 1.1, заменено на setSize(int, int).

Устанавливает размер этого Rectangle в соответствии с указанной шириной и высотой.

Параметры:
width - новая ширина для этого Rectangle
height - новая высота для этого Rectangle

contains

public boolean contains(Point p)

Проверяет, содержит ли этот Rectangle указанную точку Point.

Параметры:
p - точка Point для проверки
Возвращает:
true если указанная точка Point находится внутри этого Rectangle; false в противном случае.
С:
1.1

contains

public boolean contains(int x,
                        int y)

Проверяет, содержит ли этот Rectangle точку в указанном расположении (x,y).

Параметры:
x - указанная координата X
y - указанная координата Y
Возвращает:
true если точка (x,y) находится внутри этого Rectangle; false в противном случае.
С:
1.1

contains

public boolean contains(Rectangle r)

Проверяет, полностью ли этот Rectangle содержит указанный прямоугольник Rectangle.

Параметры:
r - указанный прямоугольник Rectangle
Возвращает:
true если прямоугольник Rectangle полностью содержится внутри этого Rectangle; false в противном случае
С:
1.2

contains

public boolean contains(int X,
                        int Y,
                        int W,
                        int H)

Проверяет, полностью ли этот Rectangle содержит прямоугольник Rectangle в указанном расположении (X,Y) с указанными размерами (W,H).

Параметры:
X - указанная координата X
Y - указанная координата Y
W - ширина прямоугольника Rectangle
H - высота прямоугольника Rectangle
Возвращает:
true если прямоугольник Rectangle, заданный (X, Y, W, H), полностью заключен внутри этого Rectangle; false в противном случае.
С:
1.1

inside

@Deprecated
public boolean inside(int X,
                                  int Y)

Устарело. Начиная с версии JDK 1.1, заменено на contains(int, int).

Проверяет, содержит ли этот Rectangle точку в указанном расположении (X,Y).

Параметры:
X - указанная координата X
Y - указанная координата Y
Возвращает:
true если точка (X,Y) находится внутри этого Rectangle; false в противном случае.

intersects

public boolean intersects(Rectangle r)

Определяет, пересекаются ли этот Rectangle и указанный прямоугольник Rectangle.

Два прямоугольника пересекаются, если их пересечение не пусто.

Параметры:
r - указанный прямоугольник Rectangle
Возвращает:
true если указанный прямоугольник Rectangle и этот Rectangle пересекаются; false в противном случае.

intersection

public Rectangle intersection(Rectangle r)

Вычисляет пересечение этого Rectangle с указанным прямоугольником Rectangle.

Возвращает новый прямоугольник Rectangle, представляющий пересечение двух прямоугольников. Если прямоугольники не пересекаются, результатом будет пустой прямоугольник.

Параметры:
r - указанный прямоугольник Rectangle
Возвращает:
наибольший прямоугольник Rectangle, содержащийся как в указанном прямоугольнике Rectangle, так и в этом Rectangle; или, если прямоугольники не пересекаются, пустой прямоугольник.

union

public Rectangle union(Rectangle r)

Вычисляет объединение этого Rectangle с заданным Rectangle. Возвращает новый Rectangle, представляющий объединение двух прямоугольников.

Если у любого из Rectangle есть размерность меньше нуля, применяются правила для несуществующих прямоугольников. Если только у одного размерность меньше нуля, то результат будет копией другого Rectangle. Если у обоих размерность меньше нуля, то результат будет иметь хотя бы одну размерность меньше нуля.

Если у полученного Rectangle размерность будет слишком большой для представления в виде int, то результат будет иметь размер Integer.MAX_VALUE по этой размерности.

Параметры:
r - заданный Rectangle
Возвращает:
наименьший Rectangle содержащий как заданный Rectangle, так и этот Rectangle.

add

public void add(int newx,
                int newy)

Добавляет точку, заданную целыми аргументами newx,newy к границам этого Rectangle.

Если у этого Rectangle есть размерность меньше нуля, применяются правила для несуществующих прямоугольников. В этом случае новые границы этого Rectangle будут иметь координаты, равные заданным координатам, а ширина и высота будут равны нулю.

После добавления точки вызов contains с добавленной точкой в качестве аргумента не обязательно вернёт true. Метод contains не возвращает true для точек на правой или нижней границе Rectangle. Поэтому, если добавленная точка попадает на правую или нижнюю границу увеличенного Rectangle, contains возвращает false для этой точки. Если заданная точка должна быть включена в новый Rectangle, следует добавить прямоугольник 1x1 вместо этого:

r.add(newx, newy, 1, 1);
Параметры:
newx - координата X новой точки
newy - координата Y новой точки

add

public void add(Point pt)

Добавляет заданный Point к границам этого Rectangle.

Если у этого Rectangle есть размерность меньше нуля, применяются правила для несуществующих прямоугольников. В этом случае новые границы этого Rectangle будут иметь координаты, равные координатам заданного Point , а ширина и высота будут равны нулю.

После добавления Point, вызов contains с добавленным Point в качестве аргумента не обязательно вернёт true. Метод contains не возвращает true для точек на правой или нижней границах Rectangle. Таким образом, если добавленный Point попадает на правую или нижнюю границу увеличенного Rectangle, contains возвращает false для этой Point. Если заданная точка должна быть включена в новый Rectangle, следует добавить прямоугольник 1x1 вместо этого:

r.add(pt.x, pt.y, 1, 1);
Параметры:
pt - новая Point для добавления к этому Rectangle

add

public void add(Rectangle r)

Добавляет Rectangle к этому Rectangle. Полученный Rectangle является объединением двух прямоугольников.

Если у любого Rectangle есть размерность меньше 0, результат будет иметь размерности другого Rectangle. Если у обоих Rectangle есть хотя бы одна размерность меньше 0, результат будет иметь хотя бы одну размерность меньше 0.

Если у любого из Rectangle одна или обе размерности равны 0, то результат по этим осям с размерами 0 будет эквивалентен результатам, полученным путем добавления соответствующей координаты начала координат к прямоугольнику результата вдоль этой оси, аналогично операции метода add(Point), но не будет вносить дальнейшую размерность сверх этого.

Если у полученного Rectangle размерность будет слишком большой для представления в виде int, то результат будет иметь размер Integer.MAX_VALUE по этой размерности.

Параметры:
r - заданный Rectangle

grow

public void grow(int h,
                 int v)

Изменяет размер Rectangle как по горизонтали, так и по вертикали.

Этот метод изменяет Rectangle, делая его на h единиц больше с обеих сторон слева и справа, и на v единиц больше сверху и снизу.

Новый Rectangle имеет (x - h, y - v) в качестве левого верхнего угла, ширину (width + 2h) и высоту (height + 2v).

Если для h и v заданы отрицательные значения, размер Rectangle соответственно уменьшается. Метод grow проверит переполнение и недополнение целочисленных переменных, но не проверит, увеличиваются ли полученные значения width и height от отрицательного к неотрицательному или уменьшаются от неотрицательного к отрицательному.

Параметры:
h - горизонтальное расширение
v - вертикальное расширение

isEmpty

public boolean isEmpty()

Определяет, является ли RectangularShape пустым. Когда RectangularShape пусто, оно не охватывает никакой области.

Указано в:
isEmpty в классе RectangularShape
Возвращает:
true если RectangularShape пусто; false в противном случае.
С:
1.2

outcode

public int outcode(double x,
                   double y)

Определяет, где заданные координаты находятся по отношению к этому Rectangle2D. Этот метод вычисляет побитовое ИЛИ соответствующих значений маски, указывающих для каждой стороны этого Rectangle2D, находится ли заданная координата по ту же сторону от ребра, что и остальная часть этого Rectangle2D.

Указано в:
outcode в классе Rectangle2D
Параметры:
x - заданная координата X
y - заданная координата Y
Возвращает:
логическое ИЛИ всех соответствующих кодов выхода.
С:
1.2
См. также:
Rectangle2D.OUT_LEFT, Rectangle2D.OUT_TOP, Rectangle2D.OUT_RIGHT, Rectangle2D.OUT_BOTTOM

createIntersection

public Rectangle2D createIntersection(Rectangle2D r)

Возвращает новый объект Rectangle2D, представляющий пересечение этого Rectangle2D с заданным Rectangle2D.

Указано в:
createIntersection в классе Rectangle2D
Параметры:
r - Rectangle2D для пересечения с этим Rectangle2D
Возвращает:
наибольший Rectangle2D содержащийся как в заданном Rectangle2D, так и в этом Rectangle2D.
С:
1.2

createUnion

public Rectangle2D createUnion(Rectangle2D r)

Возвращает новый объект Rectangle2D, представляющий объединение этого Rectangle2D с заданным Rectangle2D.

Указано в:
createUnion в классе Rectangle2D
Параметры:
r - Rectangle2D для объединения с этим Rectangle2D
Возвращает:
наименьший Rectangle2D содержащий как заданный Rectangle2D, так и этот Rectangle2D.
С:
1.2

equals

public boolean equals(Object obj)

Проверяет, равны ли два прямоугольника.

Результат равен true тогда и только тогда, когда аргумент не null и является объектом Rectangle, имеющим тот же левый верхний угол, ширину и высоту, что и этот Rectangle.

Переопределяет:
equals в классе Rectangle2D
Параметры:
obj - Object для сравнения с этим Rectangle
Возвращает:
true если объекты равны; false в противном случае.
См. также:
Object.hashCode(), HashMap

toString

public String toString()

Возвращает String , представляющий этот Rectangle и его значения.

Переопределяет:
toString в классе Object
Возвращает:
строку, представляющую координаты и размеры этого объекта Rectangle.

© 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