2

我正在使用 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”语句中,我得到一个运行时错误“方法 isDefined(char) 未定义类型 Character。” 没有编译器错误,并且使用其他静态 Character 方法(如 isLetter 或 isDigit)可以正常工作。我还尝试不将 NativeKeyCode 转换为 char (而不是使用 int 作为 codePoint),它仍然给出错误。我在网上找不到任何东西,甚至可以远程解释这一点。任何帮助,将不胜感激。

4

1 回答 1

3

GWT 仅实现了部分 java 标准库。isDefinedCharacter类上是未实现的方法之一,因此您不能在代码中使用它。您可以在此处Character查看这些方法的实现方式

它还描述了为什么isDefined没有定义(请原谅双关语;))

于 2013-02-27T21:51:44.633 回答