Class Ellipse

java.lang.Object
com.example.renderer.factory.Ellipse
All Implemented Interfaces:
Shape

public class Ellipse extends Object implements Shape
椭圆图形实现类
  • Constructor Summary

    Constructors
    Constructor
    Description
    无参构造器,用于序列化和反射创建实例。 创建后需要通过setter方法设置属性。
    Ellipse(int x, int y, int width, int height)
    构造指定位置和大小的椭圆
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    接受访问者访问此椭圆对象
    int
    获取椭圆高度。
    int
    获取椭圆宽度
    int
    获取椭圆中心X坐标。
    int
    获取椭圆中心Y坐标
    void
    move(int dx, int dy)
    移动椭圆的位置。
    void
    render(Renderer renderer)
    使用指定渲染器绘制椭圆。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Ellipse

      public Ellipse()
      无参构造器,用于序列化和反射创建实例。 创建后需要通过setter方法设置属性。
    • Ellipse

      public Ellipse(int x, int y, int width, int height)
      构造指定位置和大小的椭圆
      Parameters:
      x - 椭圆中心的X坐标
      y - 椭圆中心的Y坐标
      width - 椭圆的宽度
      height - 椭圆的高度
  • Method Details

    • render

      public void render(Renderer renderer)
      使用指定渲染器绘制椭圆。

      实现细节:

      • 调用renderer.drawEllipse()方法进行实际绘制
      • 传递椭圆的中心坐标和尺寸参数
      • 不处理渲染器抛出的异常,由调用方处理
      Specified by:
      render in interface Shape
      Parameters:
      renderer - 用于绘制椭圆的渲染器实现(非null)
      Throws:
      NullPointerException - 如果renderer参数为null
      See Also:
    • accept

      public void accept(ExportVisitor visitor)
      接受访问者访问此椭圆对象
      Specified by:
      accept in interface Shape
      Parameters:
      visitor - 用于处理椭圆的访问者对象
      Throws:
      NullPointerException - 如果visitor参数为null
    • move

      public void move(int dx, int dy)
      移动椭圆的位置。

      实现细节:

      • 直接修改椭圆的中心坐标
      • 不检查坐标溢出,由调用方确保参数合理
      • 支持负值移动(向左/上移动)
      Specified by:
      move in interface Shape
      Parameters:
      dx - X轴方向的移动距离(像素)
      dy - Y轴方向的移动距离(像素)
      See Also:
    • getX

      public int getX()
      获取椭圆中心X坐标。

      注意:返回的是椭圆的中心点X坐标,不是外接矩形的左上角X坐标。

      Returns:
      椭圆中心的X坐标值
      See Also:
    • getY

      public int getY()
      获取椭圆中心Y坐标
      Returns:
      椭圆中心的Y坐标值
    • getWidth

      public int getWidth()
      获取椭圆宽度
      Returns:
      椭圆的宽度值
    • getHeight

      public int getHeight()
      获取椭圆高度。

      高度是椭圆在Y轴方向的直径长度。

      Returns:
      椭圆的高度值
      See Also: