Mega Code Archive

 
Categories / Java / Swing Components
 

Shadow Label

//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; }