The following class will give you a label with underlined text.
public class UnderlinedLabel extends java.awt.Label { public UnderlinedLabel() { this(""); } public UnderlinedLabel(String text) { super(text); } public void paint(Graphics g) { Rectangle r; super.paint(g); //here's the trick r = g.getClipBounds(); g.drawLine(0, r.height -this.getFontMetrics(this.getFont()).getDescent(), this.getFontMetrics(this.getFont()).stringWidth(this.getText()), r.height -this.getFontMetrics(this.getFont()).getDescent() ); }
Now if you have a panel called p on a form or dialog, you can:
UnderlinedLabel ull = new UnderlinedLabel(); Rectangle r = new Rectangle(5,5,150,30); ull.setBounds(r); ull.setText("I'M UNDERLINED"); panel1.add(ull);
You’ll have a label showing underlined text.