Swing Components Java

//package mw.client.utils.gui;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JLabel;
public class ShadowLabel extends JLabel {
    private String text;
    private Font f;
    
    private boolean invertColors = false;
    public ShadowLabel() {
      super();
    }
    
    public ShadowLabel(String text, int size) {
        super();
        this.text = text;
        f = new Font("Dialog", 1, size);
    }
    
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2D = (Graphics2D) g;
        // ////////////////////////////////////////////////////////////////
        // antialiasing
        g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                 RenderingHints.VALUE_ANTIALIAS_ON);
        // ////////////////////////////////////////////////////////////////
        
        /**
         * draw text
         */
        if (!invertColors) {
          g2D.setFont(f);
          g2D.setColor(new Color(0, 0, 0));
          g2D.drawString(this.text, 1, 11);
          g2D.setColor(new Color(255, 255, 255, 230));
          g2D.drawString(this.text, 0, 10);
        } else {
          g2D.setFont(f);
          g2D.setColor(new Color(255, 255, 255, 230));
          g2D.drawString(this.text, 1, 11);
          g2D.setColor(new Color(0, 0, 0));
          g2D.drawString(this.text, 0, 10);
        }
        g2D.dispose();
    }
    
    public void setInvertColors(boolean invertColors) {
    this.invertColors = invertColors;
  }
  public void setText(String text) {
        this.text = text;
        repaint();
    }
    /**
     * Default UID
     */
    private static final long serialVersionUID = 1L;
}