Class TextPainter

All Implemented Interfaces:
Painter<Object>

@JavaBean public class TextPainter extends AbstractAreaPainter<Object>
A painter which draws text. If the font, text, and paint are not provided they will be obtained from the object being painted if it is a Swing text component.
  • Field Details

    • text

      private String text
    • font

      private Font font
  • Constructor Details

    • TextPainter

      public TextPainter()
      Creates a new instance of TextPainter
    • TextPainter

      public TextPainter(String text)
      Create a new TextPainter which will paint the specified text
      Parameters:
      text - the text to paint
    • TextPainter

      public TextPainter(String text, Font font)
      Create a new TextPainter which will paint the specified text with the specified font.
      Parameters:
      text - the text to paint
      font - the font to paint the text with
    • TextPainter

      public TextPainter(String text, Paint paint)
      Create a new TextPainter which will paint the specified text with the specified paint.
      Parameters:
      text - the text to paint
      paint - the paint to paint with
    • TextPainter

      public TextPainter(String text, Font font, Paint paint)
      Create a new TextPainter which will paint the specified text with the specified font and paint.
      Parameters:
      text - the text to paint
      font - the font to paint the text with
      paint - the paint to paint with
  • Method Details

    • setFont

      public void setFont(Font f)
      Set the font (and font size and style) to be used when drawing the text
      Parameters:
      f - the new font
    • getFont

      public Font getFont()
      gets the font (and font size and style) to be used when drawing the text
      Returns:
      the current font
    • setText

      public void setText(String text)
      Sets the text to draw
      Parameters:
      text - the text to draw
    • getText

      public String getText()
      gets the text currently used to draw
      Returns:
      the text to be drawn
    • 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 -
    • calculateText

      private String calculateText(Object component)
    • calculateFont

      private Font calculateFont(Object component)
    • provideShape

      protected Shape provideShape(Graphics2D g2, 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:
      g2 - 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