Spec-Zone.ru › OpenJDK 25

Класс 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 задает область в системе координат, ограниченную точкой Rectangle в верхнем левом углу объекта (x,y) в системе координат, его шириной и высотой.

Rectangle объекта width и height являются 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]);
    }
или, если известно, что массив points содержит как минимум одну точку:
    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-разрядных полей: тогда размеры корректируются относительно «наилучшего представления» положения. Если истинный результат имел отрицательный размер и поэтому не существовал вдоль одной или обеих осей, сохраненные размеры по этим осям будут отрицательными. Если истинный результат имел положение, которое можно было представить в диапазоне 32-разрядных целых чисел, но нулевой размер вдоль одной или обеих осей, сохраненные размеры по этим осям будут равны нулю.

С момента выпуска:
1.0
См. также:
  • Сериализованная форма

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в классе Rectangle2D

Rectangle2D.Double, Rectangle2D.Float

Краткое описание полей

Модификатор и тип Поле Описание
int height
Высота Rectangle.
int width
Ширина Rectangle.
int x
Координата X верхнего левого угла Rectangle.
int y
Координата Y верхнего левого угла Rectangle.

Поля, объявленные в классе Rectangle2D

OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP

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

Конструктор Описание
Rectangle()
Создает новый Rectangle, верхний левый угол которого находится в точке (0, 0) в системе координат, а ширина и высота равны нулю.
Rectangle(int width, int height)
Создает новый Rectangle, верхний левый угол которого находится в точке (0, 0) в системе координат, а ширина и высота задаются одноименными аргументами.
Rectangle(int x, int y, int width, int height)
Создает новый Rectangle, верхний левый угол которого задается как (x,y), а ширина и высота — одноименными аргументами.
Rectangle(Dimension d)
Создает новый Rectangle с верхним левым углом в точке (0, 0), ширина и высота которого задаются аргументом Dimension.
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(int width, int height)
Задает ширину и высоту этого Rectangle.
void setSize(Dimension d)
Задает размер этого Rectangle в соответствии с указанным Dimension.
String toString()
Возвращает String, представляющий этот Rectangle и его значения.
void translate(int dx, int dy)
Перемещает этот Rectangle на указанное расстояние вправо вдоль оси координат X и вниз вдоль оси координат Y.
Rectangle union(Rectangle r)
Вычисляет объединение этого Rectangle с указанным Rectangle.

Методы, объявленные в классе Rectangle2D

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

Методы, объявленные в классе RectangularShape

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

Методы, объявленные в классе Object

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

Методы, объявленные в интерфейсе 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 в соответствии с указанным 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 этого 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 этого 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(new Rectangle(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(new Rectangle(pt, new Dimension(1, 1)));
Параметры:
pt — новая Point, добавляемая к этому Rectangle

add

public void add(Rectangle r)
Добавляет Rectangle к этому Rectangle. Результирующий Rectangle является объединением двух прямоугольников.

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

Если один или оба размера любого из Rectangle равны 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
Возвращает:
String, представляющую координаты и размеры этого объекта Rectangle.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.desktop/java/awt/Rectangle.html

Spec-Zone.ru

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