java.awt.geom

Class RoundRectangle2D

Implemented Interfaces:
Cloneable, Shape
Known Direct Subclasses:
RoundRectangle2D.Double, RoundRectangle2D.Float

public abstract class RoundRectangle2D
extends RectangularShape

The RoundRectangle2D class defines a rectangle with rounded corners defined by a location (x, y), a dimension (w x h), and the width and height of an arc with which to round the corners.

This class is the abstract superclass for all objects that store a 2D rounded rectangle. The actual storage representation of the coordinates is left to the subclass.

Nested Class Summary

static class
RoundRectangle2D.Double
The Double class defines a rectangle with rounded corners all specified in double coordinates.
static class
RoundRectangle2D.Float
The Float class defines a rectangle with rounded corners all specified in float coordinates.

Constructor Summary

RoundRectangle2D()
This is an abstract class that cannot be instantiated directly.

Method Summary

boolean
contains(double x, double y)
Tests if the specified coordinates are inside the boundary of this RoundRectangle2D.
boolean
contains(double x, double y, double w, double h)
Tests if the interior of this RoundRectangle2D entirely contains the specified set of rectangular coordinates.
abstract double
getArcHeight()
Gets the height of the arc that rounds off the corners.
abstract double
getArcWidth()
Gets the width of the arc that rounds off the corners.
PathIterator
getPathIterator(AffineTransform at)
Returns an iteration object that defines the boundary of this RoundRectangle2D.
boolean
intersects(double x, double y, double w, double h)
Tests if the interior of this RoundRectangle2D intersects the interior of a specified set of rectangular coordinates.
void
setFrame(double x, double y, double w, double h)
Sets the location and size of the outer bounds of this RoundRectangle2D to the specified rectangular values.
abstract void
setRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
Sets the location, size, and corner radii of this RoundRectangle2D to the specified double values.
void
setRoundRect(RoundRectangle2D rr)
Sets this RoundRectangle2D to be the same as the specified RoundRectangle2D.

Methods inherited from class java.awt.geom.RectangularShape

clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

RoundRectangle2D

protected RoundRectangle2D()
This is an abstract class that cannot be instantiated directly. Type-specific implementation subclasses are available for instantiation and provide a number of formats for storing the information necessary to satisfy the various accessor methods below.

Method Details

contains

public boolean contains(double x,
                        double y)
Tests if the specified coordinates are inside the boundary of this RoundRectangle2D.
Specified by:
contains in interface Shape
Parameters:
Returns:
true if the specified coordinates are inside the boundary of this RoundRectangle2D; false otherwise.

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
Tests if the interior of this RoundRectangle2D entirely contains the specified set of rectangular coordinates.
Specified by:
contains in interface Shape
Parameters:
w - the width of the specified set of rectangular coordinates
h - the height of the specified set of rectangular coordinates
Returns:
true if the interior of this RoundRectangle2D entirely contains the specified set of rectangular coordinates; false otherwise.

getArcHeight

public abstract double getArcHeight()
Gets the height of the arc that rounds off the corners.
Returns:
the height of the arc that rounds off the corners of this RoundRectangle2D.
Usages and Demos :

View More Examples of getArcHeight()
   1: import java.awt.geom.Rectangle2D;
   2: import java.awt.geom.RoundRectangle2D;
   3: import javax.swing.JComponent;
   4:         ...
   5:         
   6:         if (shape instanceof RoundRectangle2D) {
   7:         ...
   8:             RoundRectangle2D rect = (RoundRectangle2D)shape;
   9:             shape = new RoundRectangle2D.Double(
  10:         ...
  11:                     rect.getX(), rect.getY(), width, height,
  12:                     rect.getArcWidth(), rect.getArcHeight());

View Full Code Here
   1: import java.awt.geom.AffineTransform;
   2: import java.awt.geom.RoundRectangle2D;
   3: import java.awt.image.BufferedImage;
   4:         ...
   5:             }
   6:             if (clip instanceof RoundRectangle2D) {
   7:         ...
   8:                 RoundRectangle2D rect = (RoundRectangle2D)clip;
   9:                 clip = new RoundRectangle2D.Double(
  10:         ...
  11:                         rect.getX(), rect.getY(), width, height,
  12:                         rect.getArcWidth(), rect.getArcHeight());

View Full Code Here

getArcWidth

public abstract double getArcWidth()
Gets the width of the arc that rounds off the corners.
Returns:
the width of the arc that rounds off the corners of this RoundRectangle2D.
Usages and Demos :

View More Examples of getArcWidth()
   1: import java.awt.geom.Rectangle2D;
   2: import java.awt.geom.RoundRectangle2D;
   3: import javax.swing.JComponent;
   4:         ...
   5:         
   6:         if (shape instanceof RoundRectangle2D) {
   7:         ...
   8:             RoundRectangle2D rect = (RoundRectangle2D)shape;
   9:             shape = new RoundRectangle2D.Double(
  10:         ...
  11:                     rect.getX(), rect.getY(), width, height,
  12:                     rect.getArcWidth(), rect.getArcHeight());

View Full Code Here
   1: import java.awt.geom.AffineTransform;
   2: import java.awt.geom.RoundRectangle2D;
   3: import java.awt.image.BufferedImage;
   4:         ...
   5:             }
   6:             if (clip instanceof RoundRectangle2D) {
   7:         ...
   8:                 RoundRectangle2D rect = (RoundRectangle2D)clip;
   9:                 clip = new RoundRectangle2D.Double(
  10:         ...
  11:                         rect.getX(), rect.getY(), width, height,
  12:                         rect.getArcWidth(), rect.getArcHeight());

View Full Code Here

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
Returns an iteration object that defines the boundary of this RoundRectangle2D. The iterator for this class is multi-threaded safe, which means that this RoundRectangle2D class guarantees that modifications to the geometry of this RoundRectangle2D object do not affect any iterations of that geometry that are already in process.
Specified by:
getPathIterator in interface Shape
Parameters:
at - an optional AffineTransform to be applied to the coordinates as they are returned in the iteration, or null if untransformed coordinates are desired
Returns:
the PathIterator object that returns the geometry of the outline of this RoundRectangle2D, one segment at a time.

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
Tests if the interior of this RoundRectangle2D intersects the interior of a specified set of rectangular coordinates.
Specified by:
intersects in interface Shape
Parameters:
w - the width of the specified set of rectangular coordinates
h - the height of the specified set of rectangular coordinates
Returns:
true if the interior of this RoundRectangle2D intersects the interior of the specified set of rectangular coordinates.

setFrame

public void setFrame(double x,
                     double y,
                     double w,
                     double h)
Sets the location and size of the outer bounds of this RoundRectangle2D to the specified rectangular values.
Overrides:
setFrame in interface RectangularShape
Parameters:
w - the width to which to set this RoundRectangle2D
h - the height to which to set this RoundRectangle2D

setRoundRect

public abstract void setRoundRect(double x,
                                  double y,
                                  double w,
                                  double h,
                                  double arcWidth,
                                  double arcHeight)
Sets the location, size, and corner radii of this RoundRectangle2D to the specified double values.
Parameters:
w - the width to which to set this RoundRectangle2D
h - the height to which to set this RoundRectangle2D
arcWidth - the width to which to set the arc of this RoundRectangle2D
arcHeight - the height to which to set the arc of this RoundRectangle2D
Usages and Demos :

View More Examples of setRoundRect(double x,double y,double w,double h,double arcWidth,double arcHeight)
   1: import java.awt.Rectangle;
   2: import java.awt.geom.RoundRectangle2D;
   3: 
   4:         ...
   5:     final Dimension dim = getScaledRoundingDim();
   6:     final RoundRectangle2D shape = new RoundRectangle2D.Double();
   7:         ...
   8:     shape.setRoundRect(rec.x, rec.y, rec.width, rec.height, dim.width, dim.height);
   9:     final MfDcState state = file.getCurrentState();

View Full Code Here

setRoundRect

public void setRoundRect(RoundRectangle2D rr)
Sets this RoundRectangle2D to be the same as the specified RoundRectangle2D.
Parameters:
rr - the specified RoundRectangle2D
Usages and Demos :

View More Examples of setRoundRect(RoundRectangle2D rr)
   1: import java.awt.geom.RectangularShape;
   2: import java.awt.geom.RoundRectangle2D;
   3: 
   4:         ...
   5:         } else {
   6:             if ( !(m_bbox instanceof RoundRectangle2D) )
   7:         ...
   8:                 m_bbox = new RoundRectangle2D.Double();
   9:             ((RoundRectangle2D)m_bbox)
  10:         ...
  11:             RoundRectangle2D rr = (RoundRectangle2D)m_bbox;
  12:             rr.setRoundRect(m_pt.getX(), m_pt.getY(), w, h,

View Full Code Here