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

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.