如何允许文本字段中输入的第一个字母为大写。或者是否可以在文本字段文本更改事件上进行更改。另外我想避免将空格作为第一个字符。(虽然它可以在文本中间使用)
这是用于测试其他参数的文本字段验证代码
TextField1 = new TextField("\n Customer Name: ",null)
{
protected boolean keyChar(char ch, int status, int time)
{
if (CharacterUtilities.isLetter(ch) || (ch == Characters.BACKSPACE || (ch == Characters.SPACE)))
{
return super.keyChar(ch, status, time);
}
return true;
}
};
add(TextField1);
请指导。谢谢
重新编辑:
AutoTextEditField auto = new AutoTextEditField("Name: ",EditField.NO_NEWLINE | Field.EDITABLE | AutoTextEditField.NON_SPELLCHECKABLE);
add(auto);
重新编辑 2:使用下面的代码可以防止输入任何空格(在开始时或之间)。此外,仍然没有验证 Caps 作为第一个字母。请参阅此链接了解我是如何得到以下想法的
BasicEditField bf = new BasicEditField("BasicEditField: ","", 10,EditField.FILTER_UPPERCASE);
class AlphaTextFilter extends TextFilter
{
public char convert(char c, int status)
{
if (!validate(c))
return 0;
return c;
}
public boolean validate(char c)
{
return CharacterUtilities.isLetter(c);
}
}
bf.setFilter(new AlphaTextFilter());
add(bf);