如何在vaadin框架中用另一个替换keycode?

时间:2012-01-04 18:12:21

标签: user-interface vaadin

我需要设置ENTER键以在com.vaadin.ui.Panel上放置的已启用字段之间导航。我怎样才能以编程方式执行此操作?

这是我的意图但现在不发送如何发送按键:

Action ENTER_KEY_ACTION = new ShortcutAction(
         "Enter key"
        , ShortcutAction.KeyCode.ENTER
        , null
        );

public Action[] getActions(Object target, Object sender) {
    return new Action[] { ENTER_KEY_ACTION};
}

public void handleAction(Action action, Object sender, Object target) {
    if (action == ENTER_KEY_ACTION ) {
        ENTERKeyHandler();
    }
}

protected void ENTERKeyHandler(){
   //
   //here i need to send a TAB keyPress
   //
}

此代码完美地完成到现在但尚未结束。我不知道是否还有另一种方法可以实现这一目标? 对不起我的英语也是。

2 个答案:

答案 0 :(得分:0)

AbstractComponent类为此提供了一个方法(您的字段对象扩展了AbstractComponent)。该方法称为 fireEvent(Component.Event事件)

您可以尝试使用此方法向已注册的侦听器发送事件。

答案 1 :(得分:0)

尝试在面板中的字段中添加FocusListener,以跟踪当前关注的字段。您还必须知道服务器端字段的Tab键顺序,以及在ENTERKeyHandler()方法中调用field.focus()以获得要聚焦的字段。