# Class Rectangle

java.lang.Object
javafx.scene.Node
javafx.scene.shape.Shape
javafx.scene.shape.Rectangle

All Implemented Interfaces:
  `Styleable, EventTarget`

public non-sealed class Rectangle extends Shape
The `Rectangle` class defines a rectangle with the specified size and location. By default the rectangle has sharp corners. Rounded corners can be specified by setting both of the arcWidth and arcHeight properties to positive values `(> 0.0)`.

Example code: the following code creates a rectangle with 20 pixel rounded corners.

    import javafx.scene.shape.*;

    Rectangle r = new Rectangle();
    r.setX(50);
    r.setY(50);
    r.setWidth(200);
    r.setHeight(100);
    r.setArcWidth(20);
    r.setArcHeight(20);

Since:
  JavaFX 2.0

- ## Property Summary

  Properties
  Type
  Property
  Description
  `final DoubleProperty`
  `arcHeight`
  Defines the vertical diameter of the arc at the four corners of the rectangle.
  `final DoubleProperty`
  `arcWidth`
  Defines the horizontal diameter of the arc at the four corners of the rectangle.
  `final DoubleProperty`
  `height`
  Defines the height of the rectangle.
  `final DoubleProperty`
  `width`
  Defines the width of the rectangle.
  `final DoubleProperty`
  `x`
  Defines the X coordinate of the upper-left corner of the rectangle.
  `final DoubleProperty`
  `y`
  Defines the Y coordinate of the upper-left corner of the rectangle.

  ### Properties declared in class Shape

  `fill, smooth, strokeDashOffset, strokeLineCap, strokeLineJoin, strokeMiterLimit, stroke, strokeType, strokeWidth`

  ### Properties declared in class Node

  `accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragDone, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible`

- ## Field Summary

  ### Fields declared in class Node

  `BASELINE_OFFSET_SAME_AS_HEIGHT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Rectangle()`
  Creates an empty instance of Rectangle.
  `Rectangle(double width, double height)`
  Creates a new instance of Rectangle with the given size.
  `Rectangle(double x, double y, double width, double height)`
  Creates a new instance of Rectangle with the given position and size.
  `Rectangle(double width, double height, Paint fill)`
  Creates a new instance of Rectangle with the given size and fill.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final DoubleProperty`
  `arcHeightProperty()`
  Defines the vertical diameter of the arc at the four corners of the rectangle.
  `final DoubleProperty`
  `arcWidthProperty()`
  Defines the horizontal diameter of the arc at the four corners of the rectangle.
  `final double`
  `getArcHeight()`
  Gets the value of the `arcHeight` property.
  `final double`
  `getArcWidth()`
  Gets the value of the `arcWidth` property.
  `static List<CssMetaData<? extends Styleable, ?>>`
  `getClassCssMetaData()`
  Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
  `List<CssMetaData<? extends Styleable, ?>>`
  `getCssMetaData()`
  This method should delegate to `Node.getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.
  `final double`
  `getHeight()`
  Gets the value of the `height` property.
  `final double`
  `getWidth()`
  Gets the value of the `width` property.
  `final double`
  `getX()`
  Gets the value of the `x` property.
  `final double`
  `getY()`
  Gets the value of the `y` property.
  `final DoubleProperty`
  `heightProperty()`
  Defines the height of the rectangle.
  `final void`
  `setArcHeight(double value)`
  Sets the value of the `arcHeight` property.
  `final void`
  `setArcWidth(double value)`
  Sets the value of the `arcWidth` property.
  `final void`
  `setHeight(double value)`
  Sets the value of the `height` property.
  `final void`
  `setWidth(double value)`
  Sets the value of the `width` property.
  `final void`
  `setX(double value)`
  Sets the value of the `x` property.
  `final void`
  `setY(double value)`
  Sets the value of the `y` property.
  `String`
  `toString()`
  Returns a string representation of this `Rectangle` object.
  `final DoubleProperty`
  `widthProperty()`
  Defines the width of the rectangle.
  `final DoubleProperty`
  `xProperty()`
  Defines the X coordinate of the upper-left corner of the rectangle.
  `final DoubleProperty`
  `yProperty()`
  Defines the Y coordinate of the upper-left corner of the rectangle.

  ### Methods declared in class Shape

  `fillProperty, getFill, getStroke, getStrokeDashArray, getStrokeDashOffset, getStrokeLineCap, getStrokeLineJoin, getStrokeMiterLimit, getStrokeType, getStrokeWidth, intersect, isSmooth, setFill, setSmooth, setStroke, setStrokeDashOffset, setStrokeLineCap, setStrokeLineJoin, setStrokeMiterLimit, setStrokeType, setStrokeWidth, smoothProperty, strokeDashOffsetProperty, strokeLineCapProperty, strokeLineJoinProperty, strokeMiterLimitProperty, strokeProperty, strokeTypeProperty, strokeWidthProperty, subtract, union`

  ### Methods declared in class Node

  `accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBaselineOffset, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragDone, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, maxHeight, maxWidth, minHeight, minWidth, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragDoneProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, prefHeight, prefWidth, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, resize, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragDone, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty`

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods declared in interface Styleable

  `getStyleableNode`

- ## Property Details

  - ### x

    public final DoubleProperty xProperty
    Defines the X coordinate of the upper-left corner of the rectangle.
    Default value:
      0.0
    See Also:
      - `getX()`
      - `setX(double)`
      - `xProperty()`

  - ### y

    public final DoubleProperty yProperty
    Defines the Y coordinate of the upper-left corner of the rectangle.
    Default value:
      0.0
    See Also:
      - `getY()`
      - `setY(double)`
      - `yProperty()`

  - ### width

    public final DoubleProperty widthProperty
    Defines the width of the rectangle.
    Default value:
      0.0
    See Also:
      - `getWidth()`
      - `setWidth(double)`
      - `widthProperty()`

  - ### height

    public final DoubleProperty heightProperty
    Defines the height of the rectangle.
    Default value:
      0.0
    See Also:
      - `getHeight()`
      - `setHeight(double)`
      - `heightProperty()`

  - ### arcWidth

    public final DoubleProperty arcWidthProperty
    Defines the horizontal diameter of the arc at the four corners of the rectangle. The rectangle will have rounded corners if and only if both of the arc width and arc height properties are greater than 0.0.
    Default value:
      0.0
    See Also:
      - `getArcWidth()`
      - `setArcWidth(double)`
      - `arcWidthProperty()`

  - ### arcHeight

    public final DoubleProperty arcHeightProperty
    Defines the vertical diameter of the arc at the four corners of the rectangle. The rectangle will have rounded corners if and only if both of the arc width and arc height properties are greater than 0.0.
    Default value:
      0.0
    See Also:
      - `getArcHeight()`
      - `setArcHeight(double)`
      - `arcHeightProperty()`

- ## Constructor Details

  - ### Rectangle

    public Rectangle()
    Creates an empty instance of Rectangle.

  - ### Rectangle

    public Rectangle(double width, double height)
    Creates a new instance of Rectangle with the given size.
    Parameters:
      `width` - width of the rectangle
      `height` - height of the rectangle

  - ### Rectangle

    public Rectangle(double width, double height, Paint fill)
    Creates a new instance of Rectangle with the given size and fill.
    Parameters:
      `width` - width of the rectangle
      `height` - height of the rectangle
      `fill` - determines how to fill the interior of the rectangle

  - ### Rectangle

    public Rectangle(double x, double y, double width, double height)
    Creates a new instance of Rectangle with the given position and size.
    Parameters:
      `x` - horizontal position of the rectangle
      `y` - vertical position of the rectangle
      `width` - width of the rectangle
      `height` - height of the rectangle

- ## Method Details

  - ### setX

    public final void setX(double value)
    Sets the value of the `x` property.
    Property description:
      Defines the X coordinate of the upper-left corner of the rectangle.
    Default value:
      0.0
    Parameters:
      `value` - the value for the `x` property
    See Also:
      - `getX()`
      - `xProperty()`

  - ### getX

    public final double getX()
    Gets the value of the `x` property.
    Property description:
      Defines the X coordinate of the upper-left corner of the rectangle.
    Default value:
      0.0
    Returns:
      the value of the `x` property
    See Also:
      - `setX(double)`
      - `xProperty()`

  - ### xProperty

    public final DoubleProperty xProperty()
    Defines the X coordinate of the upper-left corner of the rectangle.
    Default value:
      0.0
    Returns:
      the `x` property
    See Also:
      - `getX()`
      - `setX(double)`

  - ### setY

    public final void setY(double value)
    Sets the value of the `y` property.
    Property description:
      Defines the Y coordinate of the upper-left corner of the rectangle.
    Default value:
      0.0
    Parameters:
      `value` - the value for the `y` property
    See Also:
      - `getY()`
      - `yProperty()`

  - ### getY

    public final double getY()
    Gets the value of the `y` property.
    Property description:
      Defines the Y coordinate of the upper-left corner of the rectangle.
    Default value:
      0.0
    Returns:
      the value of the `y` property
    See Also:
      - `setY(double)`
      - `yProperty()`

  - ### yProperty

    public final DoubleProperty yProperty()
    Defines the Y coordinate of the upper-left corner of the rectangle.
    Default value:
      0.0
    Returns:
      the `y` property
    See Also:
      - `getY()`
      - `setY(double)`

  - ### setWidth

    public final void setWidth(double value)
    Sets the value of the `width` property.
    Property description:
      Defines the width of the rectangle.
    Default value:
      0.0
    Parameters:
      `value` - the value for the `width` property
    See Also:
      - `getWidth()`
      - `widthProperty()`

  - ### getWidth

    public final double getWidth()
    Gets the value of the `width` property.
    Property description:
      Defines the width of the rectangle.
    Default value:
      0.0
    Returns:
      the value of the `width` property
    See Also:
      - `setWidth(double)`
      - `widthProperty()`

  - ### widthProperty

    public final DoubleProperty widthProperty()
    Defines the width of the rectangle.
    Default value:
      0.0
    Returns:
      the `width` property
    See Also:
      - `getWidth()`
      - `setWidth(double)`

  - ### setHeight

    public final void setHeight(double value)
    Sets the value of the `height` property.
    Property description:
      Defines the height of the rectangle.
    Default value:
      0.0
    Parameters:
      `value` - the value for the `height` property
    See Also:
      - `getHeight()`
      - `heightProperty()`

  - ### getHeight

    public final double getHeight()
    Gets the value of the `height` property.
    Property description:
      Defines the height of the rectangle.
    Default value:
      0.0
    Returns:
      the value of the `height` property
    See Also:
      - `setHeight(double)`
      - `heightProperty()`

  - ### heightProperty

    public final DoubleProperty heightProperty()
    Defines the height of the rectangle.
    Default value:
      0.0
    Returns:
      the `height` property
    See Also:
      - `getHeight()`
      - `setHeight(double)`

  - ### setArcWidth

    public final void setArcWidth(double value)
    Sets the value of the `arcWidth` property.
    Property description:
      Defines the horizontal diameter of the arc at the four corners of the rectangle. The rectangle will have rounded corners if and only if both of the arc width and arc height properties are greater than 0.0.
    Default value:
      0.0
    Parameters:
      `value` - the value for the `arcWidth` property
    See Also:
      - `getArcWidth()`
      - `arcWidthProperty()`

  - ### getArcWidth

    public final double getArcWidth()
    Gets the value of the `arcWidth` property.
    Property description:
      Defines the horizontal diameter of the arc at the four corners of the rectangle. The rectangle will have rounded corners if and only if both of the arc width and arc height properties are greater than 0.0.
    Default value:
      0.0
    Returns:
      the value of the `arcWidth` property
    See Also:
      - `setArcWidth(double)`
      - `arcWidthProperty()`

  - ### arcWidthProperty

    public final DoubleProperty arcWidthProperty()
    Defines the horizontal diameter of the arc at the four corners of the rectangle. The rectangle will have rounded corners if and only if both of the arc width and arc height properties are greater than 0.0.
    Default value:
      0.0
    Returns:
      the `arcWidth` property
    See Also:
      - `getArcWidth()`
      - `setArcWidth(double)`

  - ### setArcHeight

    public final void setArcHeight(double value)
    Sets the value of the `arcHeight` property.
    Property description:
      Defines the vertical diameter of the arc at the four corners of the rectangle. The rectangle will have rounded corners if and only if both of the arc width and arc height properties are greater than 0.0.
    Default value:
      0.0
    Parameters:
      `value` - the value for the `arcHeight` property
    See Also:
      - `getArcHeight()`
      - `arcHeightProperty()`

  - ### getArcHeight

    public final double getArcHeight()
    Gets the value of the `arcHeight` property.
    Property description:
      Defines the vertical diameter of the arc at the four corners of the rectangle. The rectangle will have rounded corners if and only if both of the arc width and arc height properties are greater than 0.0.
    Default value:
      0.0
    Returns:
      the value of the `arcHeight` property
    See Also:
      - `setArcHeight(double)`
      - `arcHeightProperty()`

  - ### arcHeightProperty

    public final DoubleProperty arcHeightProperty()
    Defines the vertical diameter of the arc at the four corners of the rectangle. The rectangle will have rounded corners if and only if both of the arc width and arc height properties are greater than 0.0.
    Default value:
      0.0
    Returns:
      the `arcHeight` property
    See Also:
      - `getArcHeight()`
      - `setArcHeight(double)`

  - ### getClassCssMetaData

    public static List<CssMetaData<? extends Styleable, ?>> getClassCssMetaData()
    Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
    Returns:
      the `CssMetaData`
    Since:
      JavaFX 8.0

  - ### getCssMetaData

    public List<CssMetaData<? extends Styleable, ?>> getCssMetaData()
    This method should delegate to `Node.getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.
    Specified by:
      `getCssMetaData` in interface `Styleable`
    Overrides:
      `getCssMetaData` in class `Shape`
    Returns:
      The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
    Since:
      JavaFX 8.0

  - ### toString

    public String toString()
    Returns a string representation of this `Rectangle` object.
    Overrides:
      `toString` in class `Node`
    Returns:
      a string representation of this `Rectangle` object.