Sto facendo un'applicazione con java che ha un JTextPane. Voglio essere in grado di eseguire qualche codice quando il immette il tasto premuto (o quando l'utente passa alla riga successiva). Ho cercato sul Web e non ho trovato una soluzione. Sarebbe meglio affrontare questo con C#? In caso contrario, come posso registrare il tasto Invio nell'evento keyTyped() di JTextPane? Se C# è una buona opzione, come farei in C#?Java: registrazione <ENTER> pressione tasto su JTextPane
Ecco una soluzione ho pensato avrebbe funzionato ... ma non
//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");
}
}
Perché l'esempio di cui sopra non funziona è perché non importa quale tasto premo, ho un keyCode 0. vorrei preferisco una soluzione a questo problema in Java ma C# funzionerebbe altrettanto bene, forse meglio. Inoltre, prova a rispondere alla domanda con esempi e non con link (a meno che tu non ne abbia davvero bisogno). Grazie!
non utilizzare keyListeners, utilizzare keyBindings come @Hovercraft suggerito – kleopatra
Da JavaDocs per getKeyCode(): 'Per gli eventi KEY_TYPED, il codice chiave è VK_UNDEFINED. È stato documentato come tale almeno dal 1.3. –