Class Rectangle

java.lang.Object
edu.macalester.graphics.GraphicsObject
edu.macalester.graphics.Rectangle
All Implemented Interfaces:
Fillable, Strokable

public class Rectangle extends GraphicsObject implements Strokable, Fillable
A rectangle that can be drawn on the screen.

A rectangle’s position is its upper left corner.

  • Constructor Details

    • Rectangle

      public Rectangle(double x, double y, double width, double height)
      Creates a rectangle whose upper left is at (x,y) with the specified width and height. The rectangle has a 1 pixel black stroke outline by default.
    • Rectangle

      public Rectangle(Point upperLeft, Point size)
      Creates a rectangle with the given upper left corner and size. The rectangle has a 1 pixel black stroke outline by default.
  • Method Details

    • drawInLocalCoordinates

      protected void drawInLocalCoordinates(Graphics2D gc)
      Description copied from class: GraphicsObject
      For internal use. Draws this graphics object on the screen in its local coordinates, without rotation or scaling.
      Specified by:
      drawInLocalCoordinates in class GraphicsObject
    • getFillColor

      public Paint getFillColor()
      Description copied from interface: Fillable
      Returns the color to fillColor that will be used to fill this shape if it is filled. Note that there will still be no fill if isFilled() is false.
      Specified by:
      getFillColor in interface Fillable
    • setFillColor

      public void setFillColor(Paint fillColor)
      Description copied from interface: Fillable
      Sets the fill color to the given color. Automatically calls setFilled(true).
      Specified by:
      setFillColor in interface Fillable
    • getStrokeColor

      public Paint getStrokeColor()
      Description copied from interface: Strokable
      Returns the color to strokeColor that will be used to stroke this shape if it is stroked. Note that there will still be no stroke if isStroked() is false or the stroke width is zero.
      Specified by:
      getStrokeColor in interface Strokable
    • setStrokeColor

      public void setStrokeColor(Paint strokeColor)
      Description copied from interface: Strokable
      Sets the stroke color to the given color. Automatically calls setStroked(true).
      Specified by:
      setStrokeColor in interface Strokable
    • isFilled

      public boolean isFilled()
      Description copied from interface: Fillable
      Returns true if the interior of this shape will be filled with the fill color.
      Specified by:
      isFilled in interface Fillable
    • setFilled

      public void setFilled(boolean filled)
      Description copied from interface: Fillable
      Causes the shape to be filled with the fill color when it is drawn.
      Specified by:
      setFilled in interface Fillable
    • isStroked

      public boolean isStroked()
      Description copied from interface: Strokable
      Returns true if the interior of this shape will be stroked with the stroke color.
      Specified by:
      isStroked in interface Strokable
    • setStroked

      public void setStroked(boolean stroked)
      Description copied from interface: Strokable
      Causes the shape to be stroked with the stroke color when it is drawn.
      Specified by:
      setStroked in interface Strokable
    • getStrokeWidth

      public double getStrokeWidth()
      Description copied from interface: Strokable
      Returns the thickness of the stroke in pixels.
      Specified by:
      getStrokeWidth in interface Strokable
    • setStrokeWidth

      public void setStrokeWidth(double width)
      Description copied from interface: Strokable
      Sets how thick the stroke is. Automatically calls setStroked(true).
      Specified by:
      setStrokeWidth in interface Strokable
    • setSize

      public void setSize(double width, double height)
      Changes the width and height of the rectangle, preserving its upper left corner's position.
    • setSize

      public void setSize(Point size)
      Changes the width and height of the rectangle, preserving its upper left corner's position.
    • testHitInLocalCoordinates

      public boolean testHitInLocalCoordinates(double x, double y)
      Description copied from class: GraphicsObject
      Tests whether the given point is inside the boundary or interior of this object’s shape. The point is in this object’s local coordinates.
      Specified by:
      testHitInLocalCoordinates in class GraphicsObject
    • getBounds

      public Rectangle2D getBounds()
      Description copied from class: GraphicsObject
      Returns the bounding box of this graphics object in its local coordinates.
      Specified by:
      getBounds in class GraphicsObject
    • getEqualityAttributes

      protected Object getEqualityAttributes()
      Description copied from class: GraphicsObject
      For internal use only. Used to compute equals() and hashCode(). Returns an object whose equals() and hashCode() methods encompass the subclass-specific values that should be used to compute equality for the whole GraphicsObject.
      Specified by:
      getEqualityAttributes in class GraphicsObject
    • toString

      public String toString()
      Returns a string representation of the rectangle
      Overrides:
      toString in class Object