java.awt
Class BasicStroke

java.lang.Object
  extended by java.awt.BasicStroke
All Implemented Interfaces:
Stroke

public class BasicStroke
extends Object
implements Stroke

A general purpose Stroke implementation that can represent a wide variety of line styles for use with subclasses of Graphics2D.

The line cap and join styles can be set using the options illustrated here:

Illustration of line cap and join styles

A dash array can be used to specify lines with alternating opaque and transparent sections.


Field Summary
static int CAP_BUTT
          Indicates a flat line cap style.
static int CAP_ROUND
          Indicates a rounded line cap style.
static int CAP_SQUARE
          Indicates a square line cap style.
static int JOIN_BEVEL
          Indicates a bevelled line join style.
static int JOIN_MITER
          Indicates a mitered line join style.
static int JOIN_ROUND
          Indicates a rounded line join style.
 
Constructor Summary
BasicStroke()
          Creates a new BasicStroke instance.
BasicStroke(float width)
          Creates a new BasicStroke instance with the given line width.
BasicStroke(float width, int cap, int join)
          Creates a new BasicStroke instance with the given attributes.
BasicStroke(float width, int cap, int join, float miterlimit)
          Creates a new BasicStroke instance with the given attributes.
BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dashPhase)
          Creates a new BasicStroke instance with the given attributes.
 
Method Summary
 Shape createStrokedShape(Shape s)
          Creates a shape representing the stroked outline of the given shape.
 boolean equals(Object o)
          Compares this BasicStroke for equality with an arbitrary object.
 float[] getDashArray()
          Returns the dash array, which defines the length of alternate opaque and transparent sections in lines drawn with this stroke.
 float getDashPhase()
          Returns the dash phase for the stroke.
 int getEndCap()
          Returns a code indicating the line cap style (one of CAP_BUTT, CAP_ROUND, CAP_SQUARE).
 int getLineJoin()
          Returns a code indicating the line join style (one of JOIN_BEVEL, JOIN_MITER or JOIN_ROUND).
 float getLineWidth()
          Returns the line width.
 float getMiterLimit()
          Returns the miter limit.
 int hashCode()
          Returns the hash code for this object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JOIN_MITER

public static final int JOIN_MITER
Indicates a mitered line join style. See the class overview for an illustration.

See Also:
Constant Field Values

JOIN_ROUND

public static final int JOIN_ROUND
Indicates a rounded line join style. See the class overview for an illustration.

See Also:
Constant Field Values

JOIN_BEVEL

public static final int JOIN_BEVEL
Indicates a bevelled line join style. See the class overview for an illustration.

See Also:
Constant Field Values

CAP_BUTT

public static final int CAP_BUTT
Indicates a flat line cap style. See the class overview for an illustration.

See Also:
Constant Field Values

CAP_ROUND

public static final int CAP_ROUND
Indicates a rounded line cap style. See the class overview for an illustration.

See Also:
Constant Field Values

CAP_SQUARE

public static final int CAP_SQUARE
Indicates a square line cap style. See the class overview for an illustration.

See Also:
Constant Field Values
Constructor Detail

BasicStroke

public BasicStroke(float width,
                   int cap,
                   int join,
                   float miterlimit,
                   float[] dash,
                   float dashPhase)
Creates a new BasicStroke instance with the given attributes.

Parameters:
width - the line width (>= 0.0f).
cap - the line cap style (one of CAP_BUTT, CAP_ROUND or CAP_SQUARE).
join - the line join style (one of JOIN_ROUND, JOIN_BEVEL, or JOIN_MITER).
miterlimit - the limit to trim the miter join. The miterlimit must be greater than or equal to 1.0f.
dash - The array representing the dashing pattern. There must be at least one non-zero entry.
dashPhase - is negative and dash is not null.
Throws:
IllegalArgumentException - If one input parameter doesn't meet its needs.

BasicStroke

public BasicStroke(float width,
                   int cap,
                   int join,
                   float miterlimit)
Creates a new BasicStroke instance with the given attributes.

Parameters:
width - the line width (>= 0.0f).
cap - the line cap style (one of CAP_BUTT, CAP_ROUND or CAP_SQUARE).
join - the line join style (one of JOIN_ROUND, JOIN_BEVEL, or JOIN_MITER).
miterlimit - the limit to trim the miter join. The miterlimit must be greater than or equal to 1.0f.
Throws:
IllegalArgumentException - If one input parameter doesn't meet its needs.

BasicStroke

public BasicStroke(float width,
                   int cap,
                   int join)
Creates a new BasicStroke instance with the given attributes. The miter limit defaults to 10.0.

Parameters:
width - the line width (>= 0.0f).
cap - the line cap style (one of CAP_BUTT, CAP_ROUND or CAP_SQUARE).
join - the line join style (one of JOIN_ROUND, JOIN_BEVEL, or JOIN_MITER).
Throws:
IllegalArgumentException - If one input parameter doesn't meet its needs.

BasicStroke

public BasicStroke(float width)
Creates a new BasicStroke instance with the given line width. The default values are:

Parameters:
width - the line width (>= 0.0f).
Throws:
IllegalArgumentException - If width is negative.

BasicStroke

public BasicStroke()
Creates a new BasicStroke instance. The default values are:

Method Detail

createStrokedShape

public Shape createStrokedShape(Shape s)
Creates a shape representing the stroked outline of the given shape. THIS METHOD IS NOT YET IMPLEMENTED.

Specified by:
createStrokedShape in interface Stroke
Parameters:
s - the shape.
Returns:
the stroked outline shape

getLineWidth

public float getLineWidth()
Returns the line width.

Returns:
The line width.

getEndCap

public int getEndCap()
Returns a code indicating the line cap style (one of CAP_BUTT, CAP_ROUND, CAP_SQUARE).

Returns:
A code indicating the line cap style.

getLineJoin

public int getLineJoin()
Returns a code indicating the line join style (one of JOIN_BEVEL, JOIN_MITER or JOIN_ROUND).

Returns:
A code indicating the line join style.

getMiterLimit

public float getMiterLimit()
Returns the miter limit.

Returns:
The miter limit.

getDashArray

public float[] getDashArray()
Returns the dash array, which defines the length of alternate opaque and transparent sections in lines drawn with this stroke. If null, a continuous line will be drawn.

Returns:
The dash array (possibly null).

getDashPhase

public float getDashPhase()
Returns the dash phase for the stroke. This is the offset from the start of a path at which the pattern defined by getDashArray() is rendered.

Returns:
The dash phase.

hashCode

public int hashCode()
Returns the hash code for this object. The hash is calculated by xoring the hash, cap, join, limit, dash array and phase values (converted to int first with Float.floatToIntBits() if the value is a float).

Overrides:
hashCode in class Object
Returns:
The hash code.
See Also:
Object.equals(Object), System.identityHashCode(Object)

equals

public boolean equals(Object o)
Compares this BasicStroke for equality with an arbitrary object. This method returns true if and only if:

Overrides:
equals in class Object
Parameters:
o - the object (null permitted).
Returns:
true if this stroke is equal to o and false otherwise.
See Also:
Object.hashCode()