Spec-Zone.ru › OpenJDK 25

Класс Ellipse2D

java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.Ellipse2D
Все реализуемые интерфейсы:
Shape, Cloneable
Прямые известные подклассы:
Ellipse2D.Double, Ellipse2D.Float
public abstract class Ellipse2D extends RectangularShape
Класс Ellipse2D описывает эллипс, заданный ограничивающим прямоугольником.

Этот класс является только абстрактным суперклассом для всех объектов, хранящих двумерный эллипс. Фактическое представление координат в хранилище определяется подклассом.

Начиная с версии:
1.2

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

Модификатор и тип Класс Описание
static class  Ellipse2D.Double
Класс Double определяет эллипс, заданный с точностью double.
static class  Ellipse2D.Float
Класс Float определяет эллипс, заданный с точностью float.

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

Ellipse2D()
Модификатор Конструктор Описание
protected
Это абстрактный класс, который нельзя создать напрямую.

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

Модификатор и тип Метод Описание
boolean contains(double x, double y)
Проверяет, находятся ли указанные координаты внутри границы Shape, как описано в определении внутренней области.
boolean contains(double x, double y, double w, double h)
Проверяет, полностью ли внутренняя область Shape содержит указанную прямоугольную область.
boolean equals(Object obj)
Определяет, равен ли указанный Object этому Ellipse2D.
PathIterator getPathIterator(AffineTransform at)
Возвращает объект итерации, задающий границу этого Ellipse2D.
int hashCode()
Возвращает хеш-код этого Ellipse2D.
boolean intersects(double x, double y, double w, double h)
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанной прямоугольной области.

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

clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal

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

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

Методы, объявленные в интерфейсе Shape

getBounds2D

Подробное описание конструкторов

Ellipse2D

protected Ellipse2D()
Это абстрактный класс, который нельзя создать напрямую. Для создания экземпляров доступны подклассы с реализацией для конкретных типов, предоставляющие различные форматы хранения данных, необходимых для работы перечисленных ниже методов доступа.
Начиная с версии:
1.2
См. также:
  • Ellipse2D.Float
  • Ellipse2D.Double

Подробное описание методов

contains

public boolean contains(double x, double y)
Проверяет, находятся ли указанные координаты внутри границы Shape, как описано в определении внутренней области.
Параметры:
x — проверяемая координата X
y — проверяемая координата Y
Возвращает:
true, если указанные координаты находятся внутри границы Shape; в противном случае — false.
Начиная с версии:
1.2

intersects

public boolean intersects(double x, double y, double w, double h)
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанной прямоугольной области. Считается, что прямоугольная область пересекается с Shape, если хотя бы одна точка принадлежит одновременно внутренней области Shape и указанной прямоугольной области.

Метод Shape.intersects() позволяет реализации Shape консервативно возвращать true в следующих случаях:

  • существует высокая вероятность пересечения прямоугольной области и Shape, но
  • вычисления, необходимые для точного определения этого пересечения, обходятся слишком дорого.
Это означает, что для некоторых Shapes этот метод может возвращать true, даже если прямоугольная область не пересекается с Shape. Класс Area выполняет более точные вычисления геометрических пересечений, чем большинство объектов Shape, поэтому его можно использовать, если требуется более точный результат.
Параметры:
x — координата X верхнего левого угла указанной прямоугольной области
y — координата Y верхнего левого угла указанной прямоугольной области
w — ширина указанной прямоугольной области
h — высота указанной прямоугольной области
Возвращает:
true, если внутренняя область Shape и внутренняя область прямоугольной области пересекаются или с высокой вероятностью пересекаются, а вычисление пересечения было бы слишком затратным; в противном случае — false.
Начиная с версии:
1.2
См. также:
  • Area

contains

public boolean contains(double x, double y, double w, double h)
Проверяет, полностью ли внутренняя область Shape содержит указанную прямоугольную область. Чтобы прямоугольная область считалась полностью содержащейся в Shape, все точки, лежащие внутри нее, должны находиться внутри Shape.

Метод Shape.contains() позволяет реализации Shape консервативно возвращать false в следующих случаях:

  • метод intersect возвращает true, и
  • вычисления, необходимые для определения того, полностью ли Shape содержит прямоугольную область, обходятся слишком дорого.
Это означает, что для некоторых Shapes этот метод может возвращать false, даже если Shape содержит прямоугольную область. Класс Area выполняет более точные геометрические вычисления, чем большинство объектов Shape, поэтому его можно использовать, если требуется более точный результат.
Параметры:
x — координата X верхнего левого угла указанной прямоугольной области
y — координата Y верхнего левого угла указанной прямоугольной области
w — ширина указанной прямоугольной области
h — высота указанной прямоугольной области
Возвращает:
true, если внутренняя область Shape полностью содержит указанную прямоугольную область; в противном случае — false; либо, если Shape содержит прямоугольную область, метод intersects возвращает true, а вычисление вхождения было бы слишком затратным.
Начиная с версии:
1.2
См. также:
  • Area
  • Shape.intersects(double, double, double, double)

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
Возвращает объект итерации, задающий границу этого Ellipse2D. Итератор этого класса является потокобезопасным: класс Ellipse2D гарантирует, что изменения геометрии этого объекта Ellipse2D не влияют на уже выполняющиеся итерации по этой геометрии.
Параметры:
at — необязательное преобразование AffineTransform, применяемое к координатам при их возврате в ходе итерации, либо null, если требуются непреобразованные координаты
Возвращает:
объект PathIterator, который возвращает геометрию контура этого Ellipse2D по одному сегменту за раз.
Начиная с версии:
1.2

hashCode

public int hashCode()
Возвращает хеш-код этого Ellipse2D.
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код этого Ellipse2D.
Начиная с версии:
1.6
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

equals

public boolean equals(Object obj)
Определяет, равен ли указанный Object этому Ellipse2D. Указанный Object равен этому Ellipse2D, если он является экземпляром Ellipse2D и его положение и размер совпадают с положением и размером этого Ellipse2D.
Переопределяет:
equals в классе Object
Параметры:
obj — объект Object для сравнения с этим Ellipse2D.
Возвращает:
true, если obj является экземпляром Ellipse2D и имеет те же значения; в противном случае — false.
Начиная с версии:
1.6
См. также:
  • Object.hashCode()
  • HashMap

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/geom/Ellipse2D.html

Spec-Zone.ru

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