2017-05-18 12 views
3

すべてのキープレスイベントのメソッドで何かを出力する必要があります。私は以下のコードを試して、その問題は、常にnullを返す最初のキーを押すことです。一方、2番目の文字を入力すると、最初のキーイベントが出力されます。キープレスイベントは最初のイベントで文字をキャプチャしていません。これを解決するのに手伝ってもらえますか?KeyPressハンドラが最初の文字のために機能していません

答えて

1

このシナリオでは、あなたがKeyUpEventを使用する必要があります。以下の更新されたコードを見つけてください。

final StringComboBox searchGridTextBox = new StringComboBox(); 

searchGridTextBox.setEmptyText("Search Grid"); 
searchGridTextBox.addFocusHandler(new FocusHandler(){ 
@Override 
public void onFocus(FocusEvent event){ 
    if(searchGridTextBox.getStore().size() > 0) 
     searchGridTextBox.expand(); 

} 
}); 
searchGridTextBox.addKeyUpHandler(new KeyUpHandler() { 
@Override 
public void onKeyUp(KeyUpEvent event) { 
    System.out.println("On key up event ") ;   
} 
}); 
0

さらに2つのハンドラが利用可能です。keyUpとkeyDownハンドラがあります。 keyUp/keyDownハンドラを使用して、あなたの必要条件を満たすかどうか確認してください。

KeyPressイベントは、この記事で説明されている空のコンボボックスの場合にどのように振る舞うかの違いがあります:

https://stackoverflow.com/a/42036960/3612019

関連する問題