Estoy haciendo una aplicación con java que tiene un JTextPane. Quiero poder ejecutar algún código cuando se presiona la tecla enter (o cuando el usuario pasa a la siguiente línea). He buscado en la web y no he encontrado una solución. ¿Sería mejor abordar esto con C#? Si no, ¿cómo puedo registrar la tecla Enter en el evento keyTyped() de JTextPane? Si C# es una buena opción, ¿cómo haré esto en C#?Java: Registrar <ENTER> presionar la tecla en JTextPane
Aquí es una solución que pensé que trabajar ... pero no lo hicieron
//Event triggered when a key is typed
private void keyTyped(java.awt.event.KeyEvent evt) {
int key = evt.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
Toolkit.getDefaultToolkit().beep();
System.out.println("ENTER pressed");
}
}
Por qué el ejemplo anterior no funciona es porque no importa qué tecla presiono, me sale un código de clave de 0. lo haría prefiera una solución a este problema en Java pero C# funcionaría igual de bien, quizás mejor. Además, intente responder la pregunta con ejemplos y no enlaces (a menos que realmente lo necesite). ¡Gracias!
no use keyListeners, use keyBindings como @Hovercraft sugirió – kleopatra
De los JavaDocs para getKeyCode(): 'Para eventos KEY_TYPED, el keyCode es VK_UNDEFINED. Se ha documentado como tal al menos desde 1.3. –