jComboBox mit KeyListener

Andre_Java

Mitglied
Ich versuche seit einiger Zeit vergeblich abzufragen, wenn in meiner Combobox Enter gedrückt wird. Das Problem ist, dass ich eine jComboBox aus Netbeans verwende und ich überhaupt nicht weiß, wie ich da vorgehen muss.

Also ich habe die Combobox: 'jComboBox1', welche editierbar ist und beim Programmstart bereits einige Einträge enthält. Dann trage ich einen neuen Wert ein und bestätige mit Enter. Jetzt soll das Enter erkannt werden und in dieser KeyListener-Funktion will ich die Speicherung machen.

Wer kann mir einen Tipp geben?
 
Enter ist eine Taste, Taste = Key => KeyListener
Soweit so gut. Und ein KeyEvent kannst du auch nach der gedrückten Taste abfragen.

Code:
if(ke.getKeyCode() == ke.VK_ENTER){
(ke ist hier mein KeyEvent)
 
Zuletzt bearbeitet:
Ich habe es so versucht:

Code:
private void jComboBox1KeyPressed(java.awt.event.KeyEvent evt) {
  
        if (evt.getKeyCode() == KeyEvent.VK_ENTER)
        {
            System.out.println("enter");
        } 
    }

Leider wird die Funktion nie aufgerufen, sobald die ComboBox editierbar ist.
 
ICh glaube, dann solltest du mal eher nach einem "ChangeEvent" oder so ähnlich suche, bin mir aber net sicher ob des klappt
 
Moin!
Du musst der Editor deiner ComboBox einem KeyListener zuweisen, dann klappts auch:
Code:
box.getEditor().getEditorComponent().addKeyListener(new KeyListener(){
            public void keyTyped(KeyEvent keyEvent) {
            }

            public void keyPressed(KeyEvent keyEvent) {
                System.out.println("Key pressed");
            }

            public void keyReleased(KeyEvent keyEvent) {
                System.out.println("Key released");
            }
            
        });

*grüssle*
MeinerEiner
 
Zurück