Java me 使用Lwuit虚拟键盘,输入的第一个字符将不会检查约束验证

Java me 使用Lwuit虚拟键盘,输入的第一个字符将不会检查约束验证,java-me,lwuit,virtual-keyboard,Java Me,Lwuit,Virtual Keyboard,使用Lwuit 1.5版,我在使用虚拟键盘时遇到问题。 给定一个带有数字约束的文本字段。 输入的第一个字符将直接进入文本字段,尽管有给定的约束 我在VirtualKeyboard.java上的actionCommand中找到了产生此问题的源代码 case INSERT_CHAR: Button btn = currentButton; String text = btn.getText(); if (inputField.g

使用Lwuit 1.5版,我在使用虚拟键盘时遇到问题。 给定一个带有数字约束的文本字段。 输入的第一个字符将直接进入文本字段,尽管有给定的约束

我在VirtualKeyboard.java上的actionCommand中找到了产生此问题的源代码

case INSERT_CHAR:
            Button btn = currentButton;
            String text = btn.getText();
            if (inputField.getText().length() == 0) {
                inputField.setText(text);
                inputField.setCursorPosition(text.length());
            } else {
                inputField.insertChars(text);
            }
            break;
如上所示,第一个字符将永远不会经过insertChars并在以后检查其有效性

问题是:我不明白为什么要实施这种行为,如果我覆盖删除if部分,我恐怕会破坏一些我没有意识到的东西

有人知道原因是什么吗


如果有人已经有了解决此问题的解决方案,请谅解。

这是我们在LWUIT 1.5中修复的已知错误,不幸的是,没有人再维护LWUIT了

你的选择是要么接受这个问题,要么修补LWUIT,要么使用完全不同的TextArea,要么迁移到Codename One