Class ButtonStatePainter<B extends AbstractButton>

java.lang.Object
com.explodingpixels.painter.ButtonStatePainter<B>
All Implemented Interfaces:
MacWidgetsPainter<B>

public class ButtonStatePainter<B extends AbstractButton> extends Object implements MacWidgetsPainter<B>
A MacWidgetsPainter that can be used to paint the various states of a button. This painter will delegate to the supplied painters based on the current state of the button. That is, if the button is being "rolled over", the rolloverPainter will be called; if the button is pressed, then the pressedPainter will be called, etc.
  • Constructor Details

    • ButtonStatePainter

      public ButtonStatePainter(MacWidgetsPainter<Component> defaultPainter)
      Creates a painter that will always use the given MacWidgetsPainter to paint the button.
      Parameters:
      defaultPainter - the Painter to use to paint the button.
    • ButtonStatePainter

      public ButtonStatePainter(MacWidgetsPainter<Component> defaultPainter, MacWidgetsPainter<Component> rolloverPainter, MacWidgetsPainter<Component> pressedPainter, MacWidgetsPainter<Component> selectedPainter)
      Creates a painter that will delegate to the given painters based on the current state of the button.
      Parameters:
      defaultPainter - the MacWidgetsPainter to use when the button has no specific state.
      rolloverPainter - the Painter to use when the button is being "rolled over".
      pressedPainter - the Painter to use when the button is being pressed.
      selectedPainter - the Painter to use when the button has been selected.
  • Method Details

    • paint

      public void paint(Graphics2D g, B button, int width, int height)
      Description copied from interface: MacWidgetsPainter
      Renders to the given Graphics2D. The supplied graphics context may be modified - it's state need not be restored upon completion of painting.
      Specified by:
      paint in interface MacWidgetsPainter<B extends AbstractButton>
      Parameters:
      g - the graphics context to paint into. It's state need not be restored. Will not be null.
      button - the object to be painted.
      width - the width within the object to paint.
      height - the height within the object to paint.