我需要设置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
//
}
此代码完美地完成到现在但尚未结束。我不知道是否还有另一种方法可以实现这一目标? 对不起我的英语也是。
答案 0 :(得分:0)
AbstractComponent类为此提供了一个方法(您的字段对象扩展了AbstractComponent)。该方法称为 fireEvent(Component.Event事件)。
您可以尝试使用此方法向已注册的侦听器发送事件。
答案 1 :(得分:0)
尝试在面板中的字段中添加FocusListener,以跟踪当前关注的字段。您还必须知道服务器端字段的Tab键顺序,以及在ENTERKeyHandler()方法中调用field.focus()以获得要聚焦的字段。