KeyPress 处理程序不适用于第一个字母
KeyPress handler is not working for first letter
我需要在每次按键事件时在方法中打印一些内容。我已经尝试了下面的代码,问题是,第一次按键总是返回 null。而在输入第二个字母后,它会打印第一个按键事件。按键事件未在第一个事件中捕获字母。你能帮忙解决这个问题吗?
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.addKeyPressHandler(new KeyPressHandler() {
@Override
public void onKeyPress(KeyPressEvent event) {
System.out.println("On key press event ") ;
}
});
还有 2 个可用的处理程序 keyUp 和 keyDown 处理程序。尝试使用 keyUp/keyDown 处理程序,看看它是否满足您的要求。
在组合框为空的情况下,keyPress 的行为有所不同,post:
对于这种情况,您需要使用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 ") ;
}
});
我需要在每次按键事件时在方法中打印一些内容。我已经尝试了下面的代码,问题是,第一次按键总是返回 null。而在输入第二个字母后,它会打印第一个按键事件。按键事件未在第一个事件中捕获字母。你能帮忙解决这个问题吗?
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.addKeyPressHandler(new KeyPressHandler() {
@Override
public void onKeyPress(KeyPressEvent event) {
System.out.println("On key press event ") ;
}
});
还有 2 个可用的处理程序 keyUp 和 keyDown 处理程序。尝试使用 keyUp/keyDown 处理程序,看看它是否满足您的要求。
在组合框为空的情况下,keyPress 的行为有所不同,post:
对于这种情况,您需要使用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 ") ;
}
});