Package org.jdesktop.swingx.painter
Class CheckerboardPainter
A Painter implementation that paints a checkerboard pattern. The light and dark colors (Paint instances) are configurable, as are the size of the squares (squareSize).
To configure a checkerboard pattern that used a gradient for the dark tiles and Color.WHITE for the light tiles, you could:
GradientPaint gp = new GradientPaint(
new Point2D.Double(0, 0),
Color.BLACK,
new Point2D.Double(0, 32),
Color.GRAY);
CheckerboardPainter p = new CheckerboardPainter();
p.setDarkPaint(gp);
p.setLightPaint(Color.WHITE);
p.setSquareSize(32);
panel.seBackgroundPainter(p);
Note that in this example, the "32" in the GradientPaint matches the "32" set for the squareSize. This is necessary because GradientPaints don't readjust themselves for the size of the square. They are fixed and immutable at the time of creation.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jdesktop.swingx.painter.AbstractPainter
AbstractPainter.Interpolation
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new CheckerboardPainter.CheckerboardPainter
(Paint darkPaint, Paint lightPaint) Create a new CheckerboardPainter with the specified light and dark paints.CheckerboardPainter
(Paint darkPaint, Paint lightPaint, double squareSize) Create a new CheckerboardPainter with the specified light and dark paints and the specified square size. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doPaint
(Graphics2D g, Object t, int width, int height) Subclasses must implement this method and perform custom painting operations here.private Paint
Helper method that creates and returns the Paint that incorporates the sizes and light and dark Paints in one TexturePaint.Gets the current dark paint.gets the current light paintdouble
Gets the current square length.void
setDarkPaint
(Paint color) Specifies the paint to use for dark tiles.void
setLightPaint
(Paint color) Specifies the paint to use for light tiles.void
setSquareSize
(double squareSize) Specifies the squareSize of the squares.Methods inherited from class org.jdesktop.swingx.painter.AbstractPainter
clearCache, configureGraphics, getFilters, getInterpolation, isAntialiasing, isCacheable, isCacheCleared, isDirty, isInPaintContext, isVisible, paint, setAntialiasing, setCacheable, setDirty, setFilters, setInPaintContext, 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
-
Field Details
-
checkerPaint
-
darkPaint
-
lightPaint
-
squareSize
private double squareSize
-
-
Constructor Details
-
CheckerboardPainter
public CheckerboardPainter()Create a new CheckerboardPainter. By default the light color is Color.WHITE, the dark color is a light gray, and the square length is 8. -
CheckerboardPainter
Create a new CheckerboardPainter with the specified light and dark paints. By default the square length is 8.- Parameters:
darkPaint
- the paint used to draw the dark squareslightPaint
- the paint used to draw the light squares
-
CheckerboardPainter
Create a new CheckerboardPainter with the specified light and dark paints and the specified square size.- Parameters:
darkPaint
- the paint used to draw the dark squareslightPaint
- the paint used to draw the light squaressquareSize
- the squareSize of the checker board squares
-
-
Method Details
-
setSquareSize
public void setSquareSize(double squareSize) Specifies the squareSize of the squares. By default, it is 8. A squareSize of invalid input: '<'= 0 will cause an IllegalArgumentException to be thrown.- Parameters:
squareSize
- the squareSize of one side of a square tile. Must be > 0.
-
getSquareSize
public double getSquareSize()Gets the current square length.- Returns:
- the squareSize. Will be > 0
-
setDarkPaint
Specifies the paint to use for dark tiles. This is a Paint and may be anything, including a TexturePaint for painting images. If null, the background color of the component is used.- Parameters:
color
- the Paint to use for painting the "dark" tiles. May be null.
-
getDarkPaint
Gets the current dark paint.- Returns:
- the Paint used for painting the "dark" tiles. May be null
-
setLightPaint
Specifies the paint to use for light tiles. This is a Paint and may be anything, including a TexturePaint for painting images. If null, the foreground color of the component is used.- Parameters:
color
- the Paint to use for painting the "light" tiles. May be null.
-
getLightPaint
gets the current light paint- Returns:
- the Paint used for painting the "light" tiles. May be null
-
getCheckerPaint
Helper method that creates and returns the Paint that incorporates the sizes and light and dark Paints in one TexturePaint. I may want to cache this value in the future for performance reasons -
doPaint
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 paintt
-width
-height
-
-