Swing Java Tutorial

import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.JLabel;
class UnderlinedLabel extends JLabel {
  public UnderlinedLabel() {
    this("");
  }
  public UnderlinedLabel(String text) {
    super(text);
  }
  public void paint(Graphics g) {
    Rectangle r;
    super.paint(g);
    r = g.getClipBounds();
    g.drawLine(0, r.height - getFontMetrics(getFont()).getDescent(), getFontMetrics(getFont())
        .stringWidth(getText()), r.height - getFontMetrics(getFont()).getDescent());
  }
}