0

を見てcom.google.gwt.dom.client.NativeEvent extends JavaScriptObject、イベントが数字であったかどうかをどのように検出できますか?私は考えましたがCharacter.isDigit(event.getKeyCode())、これは私にエラーを与えるでしょう:

Character型のメソッドisDigit(char)は、引数(int)には適用できません。

他にどうすれば彼を見つけることができますか?これにはGWTJavaを使用しています。

4

2 に答える 2

3

私はキャストをしなければならないことが判明しました:(char) event.getKeyCode(); この方法isDigit(char)は問題なく使用できます。

于 2013-02-10T10:57:33.503 に答える
3

解決策1

addKeyPressHandler( new KeyPressHandler()
{
  public void onKeyPress( KeyPressEvent event )
  {
   char charCode = event.getCharCode();
   if ( Character.isDigit( charCode ) )
   {
    System.out.println("This is a digit!!!");
   }
  }
}

解決策2

public void onBrowserEvent( com.google.gwt.cell.client.Cell.Context context, Element parent, String value, NativeEvent event, ValueUpdater<String> valueUpdater )
    {       
        if ( "keypress".equals( event.getType() ) )
        {
            int charCode = event.getCharCode();
            if ( !Character.isDigit( ( char ) charCode ) )
            {
              System.out.println("This is a digit!!!");
            }
        }
        super.onBrowserEvent( context, parent, value, event, valueUpdater );
    }
于 2013-02-10T11:15:37.347 に答える