Это редактируемый, ваш код должен просто работать, проблема с реализацией числового поля.
Он принимает только символы от 0 до 9, кажется, для некоторых настроек языка в вашем браузере, он отправляет символы, отличные от 0 до 9. Вы можете попробовать другой браузер (в моем случае он работал в IE, а не в Firefox)
Теперь, чтобы решить вашу проблему, вы должны установить символы, которые он принимает, вызвав:
// They are by default 0-9 change them to your locale numbers
field.setBaseChars("0123456789");
если вы не знаете, что такое символы номера локали, вы можете отладить этот метод в классе NumberField (переменная inspect key):
protected void onKeyPress(FieldEvent fe) {
super.onKeyPress(fe);
char key = (char) fe.getKeyCode();
if (fe.isSpecialKey(lastKeyCode) || lastKeyCode == KeyCodes.KEY_BACKSPACE
|| lastKeyCode == KeyCodes.KEY_DELETE || fe.isControlKey()) {
return;
}
if (!allowed.contains(key)) {
fe.stopEvent();
}
}