org.jdesktop.swingx.painter
Class MattePainter

java.lang.Object
  extended by org.jdesktop.beans.AbstractBean
      extended by org.jdesktop.swingx.painter.AbstractPainter<T>
          extended by org.jdesktop.swingx.painter.AbstractLayoutPainter<T>
              extended by org.jdesktop.swingx.painter.AbstractAreaPainter<Object>
                  extended by org.jdesktop.swingx.painter.MattePainter
All Implemented Interfaces:
Painter<Object>

public class MattePainter
extends AbstractAreaPainter<Object>

A Painter implementation that uses a Paint to fill the entire background area. For example, if I wanted to paint the entire background of a panel green, I would:


  MattePainter p = new MattePainter(Color.GREEN);
  panel.setBackgroundPainter(p);
 

Since it accepts a Paint, it is also possible to paint a texture or use other more exotic Paint implementations. To paint a BufferedImage texture as the background:


  TexturePaint paint = new TexturePaint(bufferedImage,
      new Rectangle2D.Double(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight()));
  MattePainter p = new MattePainter(paint);
  panel.setBackgroundPainter(p);
 

If no paint is specified, then nothing is painted


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jdesktop.swingx.painter.AbstractAreaPainter
AbstractAreaPainter.Style
 
Nested classes/interfaces inherited from class org.jdesktop.swingx.painter.AbstractLayoutPainter
AbstractLayoutPainter.HorizontalAlignment, AbstractLayoutPainter.VerticalAlignment
 
Nested classes/interfaces inherited from class org.jdesktop.swingx.painter.AbstractPainter
AbstractPainter.Interpolation
 
Constructor Summary
MattePainter()
          Creates a new MattePainter with "null" as the paint used
MattePainter(Paint paint)
          Create a new MattePainter for the given Paint.
MattePainter(Paint paint, boolean paintStretched)
          Create a new MattePainter for the given Paint.
 
Method Summary
protected  void doPaint(Graphics2D g, Object component, int width, int height)
          Subclasses must implement this method and perform custom painting operations here.
protected  Shape provideShape(Graphics2D g, Object comp, int width, int height)
          Returns the outline shape of this painter.
 
Methods inherited from class org.jdesktop.swingx.painter.AbstractAreaPainter
getAreaEffects, getBorderPaint, getBorderWidth, getFillPaint, getStyle, isPaintStretched, setAreaEffects, setBorderPaint, setBorderWidth, setFillPaint, setPaintStretched, setStyle
 
Methods inherited from class org.jdesktop.swingx.painter.AbstractLayoutPainter
calculateLayout, getHorizontalAlignment, getInsets, getVerticalAlignment, isFillHorizontal, isFillVertical, setFillHorizontal, setFillVertical, setHorizontalAlignment, setInsets, setVerticalAlignment
 
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
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MattePainter

public MattePainter()
Creates a new MattePainter with "null" as the paint used


MattePainter

public MattePainter(Paint paint)
Create a new MattePainter for the given Paint. This can be a GradientPaint (the gradient will not grow when the component becomes larger unless you use the paintStretched boolean property), TexturePaint, Color, or other Paint instance.

Parameters:
paint - Paint to fill with

MattePainter

public MattePainter(Paint paint,
                    boolean paintStretched)
Create a new MattePainter for the given Paint. This can be a GradientPaint (the gradient will not grow when the component becomes larger unless you use the paintStretched boolean property), TexturePaint, Color, or other Paint instance.

Parameters:
paint - Paint to fill with
paintStretched - indicates if the paint should be stretched
Method Detail

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 class AbstractPainter<Object>
Parameters:
g - The Graphics2D object in which to paint

provideShape

protected Shape provideShape(Graphics2D g,
                             Object comp,
                             int width,
                             int height)
Returns the outline shape of this painter. Subclasses must implement this method. This shape will be used for filling, stroking, and clipping.

Specified by:
provideShape in class AbstractAreaPainter<Object>
Parameters:
g - graphics
comp - The Object this painter will be painted on.
width - the width to paint
height - the height to paint
Returns:
the outline shape of this painter