Question

I have tried my textfield to have the very first letter to be capitalized with the following code :-

Form f = new Form();
TextField firstname = new TextField();
firstname.setConstraint(TextField.INITIAL_CAPS_SENTENCE);
f.addComponent(firstname);
f.show();

But this is not working.

What am I missing here? Can anybody suggest a correct way to achieve it?

Note : I am using LWUIT 1.5

Edited

This is how I finally did it with the help of Shai

public void insertChars(String c) {
    super.insertChars(c); //To change body of generated methods, choose Tools | Templates.
    if(super.getText()!=null && super.getText().length()>0){      
        super.setText((super.getText().substring(0,1).toUpperCase())+super.getText().substring(1, super.getText().length()));
    }else{
        super.setText(super.getText());
    }
}
Was it helpful?

Solution

Are you using a qwerty J2ME device by any chance? If so this won't work since this only applies to the native side of the things.

You need to derive TextField and override insertChar() to implement this.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top