java.awt

Class BasicStroke

public class BasicStroke extends Object implements Stroke

A general purpose {@link Stroke} implementation that can represent a wide variety of line styles for use with subclasses of {@link 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 intCAP_BUTT
Indicates a flat line cap style.
static intCAP_ROUND
Indicates a rounded line cap style.
static intCAP_SQUARE
Indicates a square line cap style.
static intJOIN_BEVEL
Indicates a bevelled line join style.
static intJOIN_MITER
Indicates a mitered line join style.
static intJOIN_ROUND
Indicates a rounded line join style.
Constructor Summary
BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dashPhase)
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)
Creates a new BasicStroke instance with the given attributes.
BasicStroke(float width)
Creates a new BasicStroke instance with the given line width.
BasicStroke()
Creates a new BasicStroke instance.
Method Summary
ShapecreateStrokedShape(Shape s)
Creates a shape representing the stroked outline of the given shape.
booleanequals(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.
floatgetDashPhase()
Returns the dash phase for the stroke.
intgetEndCap()
Returns a code indicating the line cap style (one of {@link #CAP_BUTT}, {@link #CAP_ROUND}, {@link #CAP_SQUARE}).
intgetLineJoin()
Returns a code indicating the line join style (one of {@link #JOIN_BEVEL}, {@link #JOIN_MITER} or {@link #JOIN_ROUND}).
floatgetLineWidth()
Returns the line width.
floatgetMiterLimit()
Returns the miter limit.
inthashCode()
Returns the hash code for this object.

Field Detail

CAP_BUTT

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

CAP_ROUND

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

CAP_SQUARE

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

JOIN_BEVEL

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

JOIN_MITER

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

JOIN_ROUND

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

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 {@link #CAP_BUTT}, {@link #CAP_ROUND} or {@link #CAP_SQUARE}). join the line join style (one of {@link #JOIN_ROUND}, {@link #JOIN_BEVEL}, or {@link #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 {@link #CAP_BUTT}, {@link #CAP_ROUND} or {@link #CAP_SQUARE}). join the line join style (one of {@link #JOIN_ROUND}, {@link #JOIN_BEVEL}, or {@link #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 {@link #CAP_BUTT}, {@link #CAP_ROUND} or {@link #CAP_SQUARE}). join the line join style (one of {@link #JOIN_ROUND}, {@link #JOIN_BEVEL}, or {@link #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.

Parameters: s the shape.

equals

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

Parameters: o the object (null permitted).

Returns: true if this stroke is equal to o and false otherwise.

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 {@link #getDashArray()} is rendered.

Returns: The dash phase.

getEndCap

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

Returns: A code indicating the line cap style.

getLineJoin

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

Returns: A code indicating the line join style.

getLineWidth

public float getLineWidth()
Returns the line width.

Returns: The line width.

getMiterLimit

public float getMiterLimit()
Returns the miter limit.

Returns: The miter limit.

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

Returns: The hash code.