我正在测试使用GWT中的Character.isDefined方法查看输入键是否是unicode字符(而不是大写锁定,插入等)。以下是关键事件的代码示例。
public void onKeyDown(KeyDownEvent event) {
if (isBlank() && (Character.isDefined((char)event.getNativeKeyCode()) &&
!event.isAnyModifierKeyDown())) {
textBox.removeStyleName("stylename");
textBox.setValue("");
setBlank(false);
}
}
在“if”语句中,我收到运行时错误“类型为Character的方法isDefined(char)未定义。”没有编译器错误,并且使用其他静态字符方法(如isLetter或isDigit)可以正常工作。我也尝试不将NativeKeyCode转换为char(而是使用int作为codePoint),它仍然会出错。我在网上什么都没发现,甚至远程解释了这一点。任何帮助将不胜感激。
答案 0 :(得分:3)
GWT只实现了部分java标准库。 isDefined
类上的Character
是未实现的方法之一,因此您无法在代码中使用它。您可以查看Character
方法的实施方式here
它还描述了未定义isDefined
的原因(原谅双关语;))