Package org.jdesktop.swingx.painter
Class PinstripePainter
- java.lang.Object
-
- org.jdesktop.beans.AbstractBean
-
- org.jdesktop.swingx.painter.AbstractPainter<Object>
-
- org.jdesktop.swingx.painter.PinstripePainter
-
public class PinstripePainter extends AbstractPainter<Object>
A fun Painter that paints pinstripes. You can specify the Paint to paint those pinstripes in (could even be a texture paint!), the angle at which to paint the pinstripes, and the spacing between stripes.
The default PinstripePainter configuration will paint the pinstripes using the foreground color of the component (the default behavior if a Paint is not specified) at a 45 degree angle with 8 pixels between stripes
Here is a custom code snippet that paints Color.GRAY pinstripes at a 135 degree angle:
PinstripePainter p = new PinstripePainter(); p.setAngle(135); p.setPaint(Color.GRAY);
- Author:
- rbair
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jdesktop.swingx.painter.AbstractPainter
AbstractPainter.Interpolation
-
-
Constructor Summary
Constructors Constructor Description PinstripePainter()
Create a new PinstripePainter.PinstripePainter(double angle)
Create a new PinstripePainter using the given angle, 8 pixel spacing, and the foreground color of the ComponentPinstripePainter(Paint paint)
Create a new PinstripePainter using an angle of 45, 8 pixel spacing, and the given Paint.PinstripePainter(Paint paint, double angle)
Create a new PinstripePainter using the given angle, 8 pixel spacing, and the given PaintPinstripePainter(Paint paint, double angle, double stripeWidth, double spacing)
Create a new PinstripePainter with the specified paint, angle, stripe width, and stripe spacing.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doPaint(Graphics2D g, Object component, int width, int height)
Subclasses must implement this method and perform custom painting operations here.double
getAngle()
Gets the current angle of the pinstripesPaint
getPaint()
Get the current paint used for drawing the pinstripesdouble
getSpacing()
Get the current spacing between the stripesdouble
getStripeWidth()
Gets the current width of the pinstripesvoid
setAngle(double angle)
Sets the angle, in degrees, at which to paint the pinstripes.void
setPaint(Paint p)
Set the paint to use for drawing the pinstripesvoid
setSpacing(double spacing)
Sets the spacing between pinstripesvoid
setStripeWidth(double stripeWidth)
Set the width of the pinstripes-
Methods inherited from class org.jdesktop.swingx.painter.AbstractPainter
clearCache, configureGraphics, getFilters, getInterpolation, isAntialiasing, isCacheable, isDirty, isVisible, paint, setAntialiasing, setCacheable, setDirty, setFilters, setInterpolation, setVisible, shouldUseCache, validate
-
Methods inherited from class org.jdesktop.beans.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, clone, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
-
-
-
-
Constructor Detail
-
PinstripePainter
public PinstripePainter()
Create a new PinstripePainter. By default the angle with be 45 degrees, the spacing will be 8 pixels, and the color will be the Component foreground color.
-
PinstripePainter
public PinstripePainter(Paint paint)
Create a new PinstripePainter using an angle of 45, 8 pixel spacing, and the given Paint.- Parameters:
paint
- the paint used when drawing the stripes
-
PinstripePainter
public PinstripePainter(Paint paint, double angle)
Create a new PinstripePainter using the given angle, 8 pixel spacing, and the given Paint- Parameters:
paint
- the paint used when drawing the stripesangle
- the angle, in degrees, in which to paint the pinstripes
-
PinstripePainter
public PinstripePainter(double angle)
Create a new PinstripePainter using the given angle, 8 pixel spacing, and the foreground color of the Component- Parameters:
angle
- the angle, in degrees, in which to paint the pinstripes
-
PinstripePainter
public PinstripePainter(Paint paint, double angle, double stripeWidth, double spacing)
Create a new PinstripePainter with the specified paint, angle, stripe width, and stripe spacing.- Parameters:
paint
-angle
-stripeWidth
-spacing
-
-
-
Method Detail
-
setPaint
public void setPaint(Paint p)
Set the paint to use for drawing the pinstripes- Parameters:
p
- the Paint to use. May be a Color.
-
getPaint
public Paint getPaint()
Get the current paint used for drawing the pinstripes- Returns:
- the Paint to use to draw the pinstripes
-
setAngle
public void setAngle(double angle)
Sets the angle, in degrees, at which to paint the pinstripes. If the given angle is < 0 or > 360, it will be appropriately constrained. For example, if a value of 365 is given, it will result in 5 degrees. The conversion is not perfect, but "a man on a galloping horse won't be able to tell the difference".- Parameters:
angle
- the Angle in degrees at which to paint the pinstripes
-
getAngle
public double getAngle()
Gets the current angle of the pinstripes- Returns:
- the angle, in degrees, at which the pinstripes are painted
-
setSpacing
public void setSpacing(double spacing)
Sets the spacing between pinstripes- Parameters:
spacing
- spacing between pinstripes
-
getSpacing
public double getSpacing()
Get the current spacing between the stripes- Returns:
- the spacing between pinstripes
-
doPaint
protected void doPaint(Graphics2D g, Object component, int width, int height)
Subclasses must implement this method and perform custom painting operations here.- Specified by:
doPaint
in classAbstractPainter<Object>
- Parameters:
g
- The Graphics2D object in which to paint
-
getStripeWidth
public double getStripeWidth()
Gets the current width of the pinstripes- Returns:
- the current pinstripe width
-
setStripeWidth
public void setStripeWidth(double stripeWidth)
Set the width of the pinstripes- Parameters:
stripeWidth
- a new width for the pinstripes
-
-