我有以下代码需要一些智能来处理输入的字符和检测:
private final MultiWordSuggestOracle mySuggestions = new MultiWordSuggestOracle();
private final Set<String> mySuggestionsData = new HashSet<String>();
@UiHandler("suggestBox")
public void onKeyPress(KeyDownEvent event) {
if (Character.isLetterOrDigit(event.getCharCode())) {
char[] text = suggestBox.getText().trim().toCharArray();
if (text.length != 1) return;
for (char ch : text) {
if (!Character.isLetterOrDigit(ch)) {
return;
}
}
//load data from server into mySuggestionsData
}
}
问题有 3 个部分:
您如何针对字母数字字符测试按下的键。请记住,这是 GWT,所以我宁愿不使用正则表达式(但如果没有其他选项......)。
检测输入到 SuggestBox 中的文本长度的最佳方法是什么?
KeyDownEven 是最佳选择吗?为什么按下任何键都会触发两次?