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
  `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 javafx.scene.shape.Shape

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

  ### Properties declared in 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 declared in 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
  `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 property arcHeight.
  `final 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.
  `final double`
  `getHeight()`
  Gets the value of the property height.
  `final double`
  `getWidth()`
  Gets the value of the property width.
  `final double`
  `getX()`
  Gets the value of the property x.
  `final double`
  `getY()`
  Gets the value of the property y.
  `final DoubleProperty`
  `heightProperty()`
  Defines the height of the rectangle.
  `final void`
  `setArcHeight(double value)`
  Sets the value of the property arcHeight.
  `final void`
  `setArcWidth(double value)`
  Sets the value of the property arcWidth.
  `final void`
  `setHeight(double value)`
  Sets the value of the property height.
  `final void`
  `setWidth(double value)`
  Sets the value of the property width.
  `final void`
  `setX(double value)`
  Sets the value of the property x.
  `final void`
  `setY(double value)`
  Sets the value of the property y.
  `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 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 declared in 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 declared in class java.lang.Object

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

  ### Methods declared in interface javafx.css.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)`

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