Module javafx.graphics
Package javafx.scene.shape

## Class Rectangle

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

- All Implemented Interfaces:
    `Styleable`, `EventTarget`

      public 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
    --- | --- | ---
    `DoubleProperty` | `arcHeight` | Defines the vertical diameter of the arc at the four corners of the rectangle.
    `DoubleProperty` | `arcWidth` | Defines the horizontal diameter of the arc at the four corners of the rectangle.
    `DoubleProperty` | `height` | Defines the height of the rectangle.
    `DoubleProperty` | `width` | Defines the width of the rectangle.
    `DoubleProperty` | `x` | Defines the X coordinate of the upper-left corner of the rectangle.
    `DoubleProperty` | `y` | Defines the Y coordinate of the upper-left corner of the rectangle.

    - ### Properties inherited from class javafx.scene.shape.Shape

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

    - ### Properties inherited from class javafx.scene.Node

      `accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, 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 inherited from class javafx.scene.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
    --- | --- | ---
    `DoubleProperty` | `arcHeightProperty()` | Defines the vertical diameter of the arc at the four corners of the rectangle.
    `DoubleProperty` | `arcWidthProperty()` | Defines the horizontal diameter of the arc at the four corners of the rectangle.
    `double` | `getArcHeight()` | Gets the value of the property arcHeight.
    `double` | `getArcWidth()` | Gets the value of the property arcWidth.
    `static List<CssMetaData<? extends Styleable,​?>>` | `getClassCssMetaData()` |
    `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.
    `double` | `getHeight()` | Gets the value of the property height.
    `double` | `getWidth()` | Gets the value of the property width.
    `double` | `getX()` | Gets the value of the property x.
    `double` | `getY()` | Gets the value of the property y.
    `DoubleProperty` | `heightProperty()` | Defines the height of the rectangle.
    `void` | `setArcHeight​(double value)` | Sets the value of the property arcHeight.
    `void` | `setArcWidth​(double value)` | Sets the value of the property arcWidth.
    `void` | `setHeight​(double value)` | Sets the value of the property height.
    `void` | `setWidth​(double value)` | Sets the value of the property width.
    `void` | `setX​(double value)` | Sets the value of the property x.
    `void` | `setY​(double value)` | Sets the value of the property y.
    `String` | `toString()` | Returns a string representation of this `Rectangle` object.
    `DoubleProperty` | `widthProperty()` | Defines the width of the rectangle.
    `DoubleProperty` | `xProperty()` | Defines the X coordinate of the upper-left corner of the rectangle.
    `DoubleProperty` | `yProperty()` | Defines the Y coordinate of the upper-left corner of the rectangle.

    - ### Methods inherited from class javafx.scene.shape.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 inherited from class javafx.scene.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, 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, 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, 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, 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, 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, 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 inherited from class java.lang.Object

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

    - ### Methods inherited from interface javafx.css.Styleable

      `getStyleableNode`

- - ### Property Detail

    - #### 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)`

    - #### 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)`

    - #### width

          public final DoubleProperty widthProperty

      Defines the width of the rectangle.
      Default value:
        0.0
      See Also:
        `getWidth()`, `setWidth(double)`

    - #### height

          public final DoubleProperty heightProperty

      Defines the height of the rectangle.
      Default value:
        0.0
      See Also:
        `getHeight()`, `setHeight(double)`

    - #### 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)`

    - #### 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)`

  - ### Constructor Detail

    - #### 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 Detail

    - #### setX

          public final void setX​(double value)

      Sets the value of the property x.
      Property description:
        Defines the X coordinate of the upper-left corner of the rectangle.
      Default value:
        0.0

    - #### getX

          public final double getX()

      Gets the value of the property x.
      Property description:
        Defines the X coordinate of the upper-left corner of the rectangle.
      Default value:
        0.0

    - #### xProperty

          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)`

    - #### setY

          public final void setY​(double value)

      Sets the value of the property y.
      Property description:
        Defines the Y coordinate of the upper-left corner of the rectangle.
      Default value:
        0.0

    - #### getY

          public final double getY()

      Gets the value of the property y.
      Property description:
        Defines the Y coordinate of the upper-left corner of the rectangle.
      Default value:
        0.0

    - #### yProperty

          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)`

    - #### setWidth

          public final void setWidth​(double value)

      Sets the value of the property width.
      Property description:
        Defines the width of the rectangle.
      Default value:
        0.0

    - #### getWidth

          public final double getWidth()

      Gets the value of the property width.
      Property description:
        Defines the width of the rectangle.
      Default value:
        0.0

    - #### widthProperty

          public final DoubleProperty widthProperty()

      Defines the width of the rectangle.
      Default value:
        0.0
      See Also:
        `getWidth()`, `setWidth(double)`

    - #### setHeight

          public final void setHeight​(double value)

      Sets the value of the property height.
      Property description:
        Defines the height of the rectangle.
      Default value:
        0.0

    - #### getHeight

          public final double getHeight()

      Gets the value of the property height.
      Property description:
        Defines the height of the rectangle.
      Default value:
        0.0

    - #### heightProperty

          public final DoubleProperty heightProperty()

      Defines the height of the rectangle.
      Default value:
        0.0
      See Also:
        `getHeight()`, `setHeight(double)`

    - #### setArcWidth

          public final void setArcWidth​(double value)

      Sets the value of the property arcWidth.
      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

    - #### getArcWidth

          public final double getArcWidth()

      Gets the value of the property arcWidth.
      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

    - #### 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
      See Also:
        `getArcWidth()`, `setArcWidth(double)`

    - #### setArcHeight

          public final void setArcHeight​(double value)

      Sets the value of the property arcHeight.
      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

    - #### getArcHeight

          public final double getArcHeight()

      Gets the value of the property arcHeight.
      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

    - #### 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
      See Also:
        `getArcHeight()`, `setArcHeight(double)`

    - #### getClassCssMetaData

          public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()

      Returns:
        The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      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.