0

看着com.google.gwt.dom.client.NativeEvent extends JavaScriptObject,我怎样才能检测到事件是否是一个数字?我想过Character.isDigit(event.getKeyCode()),但这会给我一个错误:

Character 类型中的方法 isDigit(char) 不适用于参数 (int)

我怎么能检测到他的呢?我为此使用 GWT Java。

4

2 回答 2

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 回答
3

原来,我必须做一个演员表:(char) event.getKeyCode(); 这种方式isDigit(char)可以毫无问题地使用。

于 2013-02-10T10:57:33.503 回答