Class MattePainter

All Implemented Interfaces:
Painter<Object>

@JavaBean 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

  • Constructor Details

    • 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 Details

    • 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
      component -
      width -
      height -
    • 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