We always prefer to use the standard built-in Label Field class to create user-selectable label styles for our application so we can provide a different look to our application. Here is a piece of code which will give you a good understanding of how LableField can be customized.
import net.rim.device.api.ui.Graphics; import net.rim.device.api.ui.XYEdges; import net.rim.device.api.ui.component.LabelField; public class CustomLabelField extends LabelField { public CustomLabelField(Object text, long style) { super(text, style); } public CustomLabelField(Object text, long style, XYEdges padding) { super(text, style); this.setPadding(2,5, 2, 5); this.setPadding(padding); } private int mFontColor = -1; public void setFontColor(int fontColor) { mFontColor = fontColor; } protected void layout(int width, int height) { super.layout(width, getPreferredHeight()+5); setExtent(width, getPreferredHeight()+5); } protected void paint(Graphics graphics) { if (-1 != mFontColor) graphics.setColor(mFontColor); super.paint(graphics); } }