Class GlossPainter

  • All Implemented Interfaces:
    Painter<Object>

    public class GlossPainter
    extends AbstractPainter<Object>

    A Painter implementation that simulates a gloss effect. The gloss can be positioned at the top or bottom of the drawing area. To fill the gloss, this painter uses a Paint instance which can be used to fill with a color (opaque or translucent), a texture, a gradient...

    The following example creates a white gloss at the top of the drawing area:

      GlossPainter p = new GlossPainter();
      p.setPaint(new Color(1.0f, 1.0f, 1.0f, 0.2f);
      p.setPosition(GlossPainter.GlossPosition.TOP);
      panel.setBackgroundPainter(p);
     

    The values shown in this examples are the values used by default if they are not specified.

    Author:
    Romain Guy
    • Constructor Detail

      • GlossPainter

        public GlossPainter()

        Creates a new gloss painter positioned at the top of the painted area with a 20% translucent white color.

      • GlossPainter

        public GlossPainter​(Paint paint)

        Creates a new gloss painter positioned at the top of the painted area with the specified paint.

        Parameters:
        paint - The paint to be used when filling the gloss
      • GlossPainter

        public GlossPainter​(GlossPainter.GlossPosition position)

        Creates a new gloss painter positioned at the specified position and using a white, 20% translucent paint.

        Parameters:
        position - The position of the gloss on the painted area
      • GlossPainter

        public GlossPainter​(Paint paint,
                            GlossPainter.GlossPosition position)

        Creates a new gloss painter positioned at the specified position and painted with the specified paint.

        Parameters:
        paint - The paint to be used when filling the gloss
        position - The position of the gloss on the painted area
    • 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
      • getPaint

        public Paint getPaint()

        Returns the paint currently used by the painter to fill the gloss.

        Returns:
        the current Paint instance used by the painter
      • setPaint

        public void setPaint​(Paint paint)

        Changes the paint to be used to fill the gloss. When the specified paint is null, nothing is painted. A paint can be an instance of Color.

        Parameters:
        paint - The Paint instance to be used to fill the gloss
      • getPosition

        public GlossPainter.GlossPosition getPosition()

        Returns the position at which the gloss is painted.

        Returns:
        the position of the gloss in the painted area
      • setPosition

        public void setPosition​(GlossPainter.GlossPosition position)

        Changes the position of the gloss in the painted area. Only the values defined in the GlossPosition enum are valid.

        Parameters:
        position - The position at which the gloss is painted