2

GWT の Character.isDefined メソッドを使用して、入力キーが (caps lock、insert などではなく) 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 型に対して未定義です」という実行時エラーが発生します。コンパイラ エラーはなく、isLetter や isDigit などの他の静的 Character メソッドを使用しても問題なく動作します。また、(codePoint に int を使用する代わりに) NativeKeyCode を char としてキャストしないようにしましたが、それでもエラーが発生します。これをリモートで説明していても、ウェブ上には何も見つかりませんでした。どんな助けでも大歓迎です。

4

1 に答える 1

3

GWT は、Java 標準ライブラリの一部のみを実装しています。isDefinedクラスでCharacter実装されていないメソッドの 1 つであるため、コードで使用することはできません。ここでCharacterメソッドがどのように実装されているかを見ることができます

が定義されていない理由についても説明しisDefinedます (しゃれを許してください ;) )

于 2013-02-27T21:51:44.633 に答える