Luego de indagar en diversos repositorios y foros de internet al final hemos dado con la solución que te mostraremos aquí.
Solución:
No puedes escuchar el atajo keys en el área de texto en sí, pero una solución simple sería agregar un botón de envío y usar enter como acceso directo:
Button b = new Button("submit", new Button.ClickListener()
@Override
public void buttonClick(ClickEvent event)
// handle your event
);
layout.addComponent(b);
b.setClickShortcut(KeyCode.ENTER);
Puede ocultar el botón en sí mismo si no lo desea:
b.setVisible(false);
Otra solución sería usar ShortcutActions y Handlers como se describe aquí: https://vaadin.com/book/-/page/advanced.shortcuts.html
Pero en cualquier caso hay que tener en cuenta que escuchando entrar key causará un conflicto al usar un componente TextArea porque también necesita usar el mismo key para llegar a la siguiente línea en TextArea.
Puede agregar un ShortcutListener al TextArea, así:
TextArea textArea = new TextArea();
textArea.addShortcutListener(enter);
Ahora solo tienes que inicializar algunos ShortcutListener de la siguiente manera:
ShortcutListener enter = new ShortcutListener("Enter", KeyCode.ENTER, null)
@Override
public void handleAction(Object sender, Object target)
// Do nice stuff
log.info("Enter pressed");
;
Aquí puedes ver las comentarios y valoraciones de los usuarios
Si conservas alguna suspicacia y capacidad de afinar nuestro escrito te sugerimos realizar un comentario y con gusto lo interpretaremos.