You are dividing width into two parts.. but my suggestion is you should divide width into three parts. like
int[] width = { (int) (Display.getWidth() / 3.2),
(int) (Display.getWidth() / 32),(int) (Display.getWidth() / 1.6) };
And differentiate " : " with new Label Field.
Here is my suggested code.. I had already tried and it works fine..
int[] width = { (int) (Display.getWidth() / 3.2),
(int) (Display.getWidth() / 32),(int) (Display.getWidth() / 1.6) };
final CustomGridFieldManager gfm_transactioninfo = new CustomGridFieldManager(
width,45, Manager.VERTICAL_SCROLL | Manager.FIELD_HCENTER
| FOCUSABLE) {
protected void paint(Graphics graphics) {
// TODO Auto-generated method stub
graphics.setColor(AppData.color_black);
super.paint(graphics);
}
};
gfm_transactioninfo.setMargin(10, 10, 0, 10);// set top and left margin
lbl_CustEmail = new LabelField("Customer Email", LabelField.FOCUSABLE);
lbl_CustEmail.setFont(label_font);
value_CustEmail = new LabelField(proTransaction_details.getFromEmail() );
value_CustEmail.setFont(label_font);
gfm_transactioninfo.add(lbl_CustEmail);
gfm_transactioninfo.add(new LabelField(" : "));
gfm_transactioninfo.add(value_CustEmail);
And your CustomGridFieldManager Class is perfect..
Just cheer up.. :)