Class MattePainter

  • All Implemented Interfaces:
    Painter<java.lang.Object>

    public class MattePainter
    extends AbstractAreaPainter<java.lang.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

    Author:
    rbair
    • Constructor Detail

      • MattePainter

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

        public MattePainter​(java.awt.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​(java.awt.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​(java.awt.Graphics2D g,
                               java.lang.Object component,
                               int width,
                               int height)
        Subclasses must implement this method and perform custom painting operations here.
        Specified by:
        doPaint in class AbstractPainter<java.lang.Object>
        Parameters:
        g - The Graphics2D object in which to paint
      • provideShape

        protected java.awt.Shape provideShape​(java.awt.Graphics2D g,
                                              java.lang.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<java.lang.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