Java: Registrieren <ENTER> - Taste drücken Sie auf JTextPane
Mache ich eine Anwendung mit java hat ein JTextPane. Ich möchte in der Lage zum ausführen von code, wenn das enter - Taste gedrückt wird (oder wenn der Benutzer auf der nächsten Zeile). Ich habe gesucht auf das Internet und nicht eine Lösung gefunden. Würde es besser sein, um dieses mit C#? Wenn nicht, wie kann ich mich anmelden die Enter-Taste in das JTextPane ist keyTyped () - Ereignis? Wenn C# ist eine gute option, wie würde ich das in C#?
Hier ist eine Lösung, die ich dachte funktionieren würde...aber nicht
//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");
}
}
Warum das Beispiel oben nicht funktioniert, ist, weil egal welche Taste ich drücke, bekomme ich einen keyCode 0. Ich würde es vorziehen, eine Lösung für dieses problem in Java, aber C# würde die Arbeit genauso gut, vielleicht besser. Auch, versuchen Sie bitte, die Frage zu beantworten, mit Beispielen und nicht-links(es sei denn, Sie wirklich brauchen). Danke!
- dont verwenden Sie keyListeners, nutze keyBindings, da @Hovercraft vorgeschlagen
- Aus den JavaDocs für getKeyCode():
For KEY_TYPED events, the keyCode is VK_UNDEFINED.
Es ist dokumentiert worden, die als solche mindestens seit 1.3.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Lösung ist das hinzufügen einer Tastenkombination auf der textpane. z.B.,
Diese Antwort ist im Fall, dass jemand jemals Aussicht auf diesen thread
Ich habe die gleichen Dinge, wie Herr Mohammad Adib. Anstatt also mit
(evt.getKeyCode()==evt.VK_ENTER)
Ich benutze
(evt.getKeyChar()=='\n')
For KEY_TYPED events, the keyCode is VK_UNDEFINED.
Es ist dokumentiert worden, die als solche mindestens seit 1.3. Ich vermute der OP nie Lesen Sie die Dokumentation.Ich bin auf der Suche nach ENTER-Taste in das Passwort-Textfeld, um Start die login-Methode, wenn die EINGABETASTE gedrückt wurde. Der folgende code print in der Konsole den keycode. Nach dem ausführen des Programms und Eingabe von ein paar tihngs in der box entdeckte ich für ENTER-Taste, es ist der code, den 13.
Wenn Sie auf der Suche für eine einzelne Taste drücken, können Sie noch ein wenig faul und vermeiden lernen neue Sachen über die wichtigsten Bindungen, die durch die Nutzung dieser Methode. Der Spaß beginnt, wenn das hinzufügen STRG+[Buchstabe] shortcuts - aber das ist eine andere Diskussion.