Spec-Zone.ru › OpenJDK 27

Класс 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 clone()
Создает новый объект того же класса с тем же содержимым, что и у этого объекта.
boolean contains(Point2D p)
Проверяет, находится ли указанная Point2D внутри границы Shape, как описано в определении принадлежности внутренней области.
boolean contains(Rectangle2D r)
Проверяет, полностью ли внутренняя область Shape содержит указанную Rectangle2D.
Rectangle getBounds()
Возвращает целочисленный Rectangle, полностью охватывающий Shape.
double getCenterX()
Возвращает координату X центра ограничивающего прямоугольника Shape с точностью double.
double getCenterY()
Возвращает координату Y центра ограничивающего прямоугольника Shape с точностью double.
Rectangle2D getFrame()
Возвращает ограничивающий Rectangle2D, задающий общую форму этого объекта.
abstract double getHeight()
Возвращает высоту ограничивающего прямоугольника с точностью double.
double getMaxX()
Возвращает наибольшую координату X ограничивающего прямоугольника Shape с точностью double.
double getMaxY()
Возвращает наибольшую координату Y ограничивающего прямоугольника Shape с точностью double.
double getMinX()
Возвращает наименьшую координату X ограничивающего прямоугольника Shape с точностью double.
double getMinY()
Возвращает наименьшую координату Y ограничивающего прямоугольника Shape с точностью double.
PathIterator getPathIterator(AffineTransform at, double flatness)
Возвращает объект-итератор, который проходит по границе объекта Shape и предоставляет доступ к упрощенному представлению контура геометрии объекта Shape.
abstract double getWidth()
Возвращает ширину ограничивающего прямоугольника с точностью double.
abstract double getX()
Возвращает координату X верхнего левого угла ограничивающего прямоугольника с точностью double.
abstract double getY()
Возвращает координату Y верхнего левого угла ограничивающего прямоугольника с точностью double.
boolean intersects(Rectangle2D r)
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанной Rectangle2D.
abstract boolean isEmpty()
Определяет, является ли RectangularShape пустым.
abstract void setFrame(double x, double y, double w, double h)
Задает положение и размер ограничивающего прямоугольника этого Shape указанными значениями прямоугольника.
void setFrame(Point2D loc, Dimension2D size)
Задает положение и размер ограничивающего прямоугольника этого Shape указанными Point2D и Dimension2D соответственно.
void setFrame(Rectangle2D r)
Задает ограничивающий прямоугольник этого Shape в соответствии с указанным Rectangle2D.
void setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)
Задает ограничивающий прямоугольник этого Shape на основе координат указанной центральной точки и координат угловой точки.
void setFrameFromCenter(Point2D center, Point2D corner)
Задает ограничивающий прямоугольник этого Shape на основе указанного центрального Point2D и углового Point2D.
void setFrameFromDiagonal(double x1, double y1, double x2, double y2)
Задает диагональ ограничивающего прямоугольника этого Shape на основе двух указанных координат.
void setFrameFromDiagonal(Point2D p1, Point2D p2)
Задает диагональ ограничивающего прямоугольника этого Shape на основе двух указанных объектов Point2D.

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

finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

getBounds2D
Модификатор и тип Метод Описание
Rectangle2D getBounds2D()
Возвращает ограничивающий прямоугольник Shape с более высокой точностью, чем метод getBounds.

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

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, 2026, 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.

Spec-Zone.ru

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