是否有可能在GWT中获得关键字代码而不是本机关键字代码?



我想获得键码(字符串)而不是我尝试过的GWT keyUP事件处理程序中的本机键码,但我只能获得返回密钥ASCII的本机键码。是否有可能获得键码的字符串?

我认识到GWT不使用一些java JREs,他们只使用他们认为有用的JREs:(…真的很失望。我必须写一个驴工作代码,以获得功能做同样的工作,从GWT丢失的JREs,这里是我的代码来解决这个问题…我为写这样的代码感到羞愧,但是GWT让我没有其他选择,如果有人可以帮助请!

if((int)event.getNativeKeyCode()==13)
            {
                code="Enter";
            }
            if((int)event.getNativeKeyCode()==65)
            {
                code="A";
            }
            if((int)event.getNativeKeyCode()==66)
            {
                code="B";
            }
            if((int)event.getNativeKeyCode()==67)
            {
                code="C";
            }
            if((int)event.getNativeKeyCode()==68)
            {
                code="D";
            }
            if((int)event.getNativeKeyCode()==69)
            {
                code="E";
            }
            if((int)event.getNativeKeyCode()==70)
            {
                code="F";
            }
            if((int)event.getNativeKeyCode()==71)
            {
                code="G";
            }
            if((int)event.getNativeKeyCode()==72)
            {
                code="H";
            }
            if((int)event.getNativeKeyCode()==73)
            {
                code="I";
            }
            if((int)event.getNativeKeyCode()==74)
            {
                code="J";
            }
            if((int)event.getNativeKeyCode()==75)
            {
                code="K";
            }
            if((int)event.getNativeKeyCode()==76)
            {
                code="L";
            }
            if((int)event.getNativeKeyCode()==77)
            {
                code="M";
            }
            if((int)event.getNativeKeyCode()==78)
            {
                code="N";
            }
            if((int)event.getNativeKeyCode()==79)
            {
                code="O";
            }
            if((int)event.getNativeKeyCode()==80)
            {
                code="P";
            }
            if((int)event.getNativeKeyCode()==81)
            {
                code="Q";
            }
            if((int)event.getNativeKeyCode()==82)
            {
                code="R";
            }
            if((int)event.getNativeKeyCode()==83)
            {
                code="S";
            }
            if((int)event.getNativeKeyCode()==84)
            {
                code="T";
            }
            if((int)event.getNativeKeyCode()==85)
            {
                code="U";
            }
            if((int)event.getNativeKeyCode()==86)
            {
                code="V";
            }
            if((int)event.getNativeKeyCode()==87)
            {
                code="W";
            }
            if((int)event.getNativeKeyCode()==88)
            {
                code="X";
            }
            if((int)event.getNativeKeyCode()==89)
            {
                code="Y";
            }
            if((int)event.getNativeKeyCode()==90)
            {
                code="Z";
            }
            if((int)event.getNativeKeyCode()==48)
            {
                code="0";
            }
            if((int)event.getNativeKeyCode()==49)
            {
                code="1";
            }
            if((int)event.getNativeKeyCode()==50)
            {
                code="2";
            }
            if((int)event.getNativeKeyCode()==51)
            {
                code="3";
            }
            if((int)event.getNativeKeyCode()==52)
            {
                code="4";
            }
            if((int)event.getNativeKeyCode()==53)
            {
                code="5";
            }
            if((int)event.getNativeKeyCode()==54)
            {
                code="6";
            }
            if((int)event.getNativeKeyCode()==55)
            {
                code="7";
            }
            if((int)event.getNativeKeyCode()==56)
            {
                code="8";
            }
            if((int)event.getNativeKeyCode()==57)
            {
                code="9";
            }
            if((int)event.getNativeKeyCode()==96)
            {
                code="Numpad 0";
            }
            if((int)event.getNativeKeyCode()==97)
            {
                code="Numpad_1";
            }
            if((int)event.getNativeKeyCode()==98)
            {
                code="Numpad_2";
            }
            if((int)event.getNativeKeyCode()==99)
            {
                code="Numpad_3";
            }
            if((int)event.getNativeKeyCode()==100)
            {
                code="Numpad_4";
            }
            if((int)event.getNativeKeyCode()==101)
            {
                code="Numpad_5";
            }
            if((int)event.getNativeKeyCode()==102)
            {
                code="Numpad_6";
            }
            if((int)event.getNativeKeyCode()==103)
            {
                code="Numpad_7";
            }
            if((int)event.getNativeKeyCode()==104)
            {
                code="Numpad_8";
            }
            if((int)event.getNativeKeyCode()==105)
            {
                code="Numpad_9";
            }
            if((int)event.getNativeKeyCode()==106)
            {
                code="Multiply";
            }
            if((int)event.getNativeKeyCode()==107)
            {
                code="Add";
            }
            if((int)event.getNativeKeyCode()==109)
            {
                code="Subtract";
            }
            if((int)event.getNativeKeyCode()==110)
            {
                code="Decimal";
            }
            if((int)event.getNativeKeyCode()==111)
            {
                code="Divide";
            }
            if((int)event.getNativeKeyCode()==8)
            {
                code="BackSpace";
            }
            if((int)event.getNativeKeyCode()==9)
            {
                code="Tab";
            }
            if((int)event.getNativeKeyCode()==16)
            {
                code="Shift";
            }
            if((int)event.getNativeKeyCode()==17)
            {
                code="Control";
            }
            if((int)event.getNativeKeyCode()==20)
            {
                code="Caps_Lock";
            }
            if((int)event.getNativeKeyCode()==27)
            {
                code="ESC";
            }
            if((int)event.getNativeKeyCode()==32)
            {
                code="Space";
            }
            if((int)event.getNativeKeyCode()==33)
            {
                code="Page_Up";
            }
            if((int)event.getNativeKeyCode()==34)
            {
                code="Page_Down";
            }
            if((int)event.getNativeKeyCode()==35)
            {
                code="End";
            }
            if((int)event.getNativeKeyCode()==36)
            {
                code="Home";
            }
            if((int)event.getNativeKeyCode()==37)
            {
                code="Left_Arrow";
            }
            if((int)event.getNativeKeyCode()==38)
            {
                code="Up_Arrow";
            }
            if((int)event.getNativeKeyCode()==39)
            {
                code="Right_Arrow";
            }
            if((int)event.getNativeKeyCode()==40)
            {
                code="Down_Arrow";
            }
            if((int)event.getNativeKeyCode()==45)
            {
                code="Insert";
            }
            if((int)event.getNativeKeyCode()==46)
            {
                code="Delete";
            }
            if((int)event.getNativeKeyCode()==144)
            {
                code="Num_Lock";
            }
            if((int)event.getNativeKeyCode()==145)
            {
                code="ScrLk";
            }
            if((int)event.getNativeKeyCode()==186)
            {
                code=";";
            }
            if((int)event.getNativeKeyCode()==187)
            {
                code="=";
            }
            if((int)event.getNativeKeyCode()==189)
            {
                code="-";
            }
            if((int)event.getNativeKeyCode()==191)
            {
                code="/";
            }
            if((int)event.getNativeKeyCode()==192)
            {
                code="`";
            }
            if((int)event.getNativeKeyCode()==219)
            {
                code="[";
            }
            if((int)event.getNativeKeyCode()==221)
            {
                code="]";
            }
            if((int)event.getNativeKeyCode()==222)
            {
                code="'";
            }
            if((int)event.getNativeKeyCode()==188)
            {
                code=",";
            }
            if((int)event.getNativeKeyCode()==190)
            {
                code=".";
            }
            if((int)event.getNativeKeyCode()==191)
            {
                code="/";
            }

参见Keycodes类。它提供了你可以使用的常量。

的例子:

switch (event.getNativeKeyCode()) {
    case KeyCodes.ENTER: break;
    case KeyCodes.KEY_P: break;
}

我不完全确定你的意思,但它可能只是你使用错误的键事件。如果我记得在一些浏览器上按下键或按下键传递不同的东西,一个给代码的其他字符。

基本上,keydown/keyup事件用于"键",而keypress用于"可打印字符"。如果你想要"字符",那么使用KeyPressHandler代替。Firefox会触发太多的事件(例如,即使对于不可打印的字符),但你可以很容易地判断,因为charCode将会为0。

你真的想在keyup中这样做吗?

最新更新