Create a Label With Underlined Text

Create a Label With Underlined Text

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.


Share the Post: