"Enter"-Taste mit Button verknüpfen

Pummeluff

Mitglied
Ich möchte gerne den Submit-Button in meinem Programm durch das Betätigen der Enter-Taste auslösen. Dazu habe ich einen Keylistener an das JFrame zugefügt. Dieser Listener reagiert auch problemlos.
Sobald ich aber Textfelder oder Buttons einfüge reagiert dieser nicht mehr, vermutlich weil der der Focus nicht mehr auf ihn gerichtet ist.

Gibt es da Möglichkeiten den Listener immer aktiv zu halten oder intelligentere Lösung als einen Keylistener?


Keylistener:
Java:
        KeyListener KeyListenerEnter = new KeyListener() {

            public void keyPressed(KeyEvent arg0) {
                System.out.println("Test");
               
            }

            public void keyReleased(KeyEvent arg0) {
            }

            public void keyTyped(KeyEvent arg0) {
            }
           
        };
        addKeyListener(KeyListenerEnter);

zufügen des Textfeldes, welches den Keylistener unwirksam macht:

Java:
add(TextFieldMin, ConstraintTextFieldMin);
 

nickname

Bekanntes Mitglied
hi,
Pummeluff hat gesagt.:
Gibt es da Möglichkeiten den Listener immer aktiv zu halten
der ist eigentlich immer aktiv, weil er ja "hören" muss.

Du kannst einen Focus mit "requestFocus()" auf ein bestimmtes Objekt erzwingen,
willst.

gruß nickname
 

Mujahiddin

Top Contributor
Du kannst jedem Komponenten in deinem JFrame den KeyListener (oder ActionListener bei Enter) zuweisen, ist zwar minimal umständlich, aber ist die einfachste Lösung

Java:
JTextField hierStehtIhrText = new JTextField();

hierStehtIhrText.addKeyListener(KeyListenerEnter);
 

Ebenius

Top Contributor
Sowas macht man nicht mit KeyListener sondern über Key Binding:
Java:
/* $Id$ */

/* Copyright 2010 Sebastian Haufe

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       [url]http://www.apache.org/licenses/LICENSE-2.0[/url]

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License. */

package com.ebenius;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;

import javax.swing.*;

public class KeyBindingTestGui {

  static void createAndShowGui() {

    // an action for sending the message
    final Action sendAction = new AbstractAction("Send Message") {

      public void actionPerformed(ActionEvent e) {
        System.out.println("Do your message sending here!");
      }
    };

    // message text field w/ key binding on ENTER my window is focused
    final JTextField textField = new JTextField(40);
    textField.getActionMap().put("sendMessage", sendAction);
    final InputMap im =
          textField.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    im.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "sendMessage");

    // send button w/ same action
    final JButton sendButton = new JButton(sendAction);

    // some GUI stuff
    final JPanel contentPane = new JPanel(new BorderLayout(6, 6));
    contentPane.add(textField, BorderLayout.CENTER);
    contentPane.add(sendButton, BorderLayout.LINE_END);

    final JFrame f = new JFrame("Test Frame: KeyBindingTestGui"); //$NON-NLS-1$
    f.setContentPane(contentPane);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    f.setVisible(true);
  }

  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {

      public void run() {
        createAndShowGui();
      }
    });
  }
}
Voodoo in Zeile 37ff.

Ebenius
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Button soll sowohl auf Klicken als auch auf die Enter-Taste reagieren Java Basics - Anfänger-Themen 9
G Leertaste bei Button auf Enter Taste ändern? Java Basics - Anfänger-Themen 6
Z Enter Taste alle 0,5 Sekunden ausführen Java Basics - Anfänger-Themen 1
P Weiter erst bei Drücken de Enter-TAste Java Basics - Anfänger-Themen 1
B Taste "Enter" drücken in einem anderen Programm? Java Basics - Anfänger-Themen 6
B 2 Textfelder Enter Taste Java Basics - Anfänger-Themen 3
G Enter Taste abfangen Java Basics - Anfänger-Themen 11
F while mit Enter-Taste abbrechen Java Basics - Anfänger-Themen 13
C Einloggen auch per ENTER Taste (KeyListener Problem) Java Basics - Anfänger-Themen 8
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
K Wie kann ich "enter" von der Console in Eclipse löschen? Java Basics - Anfänger-Themen 2
D Programm auf Enter warten lassen Java Basics - Anfänger-Themen 2
CptK Interface JTextField: Action mit Enter ausführen Java Basics - Anfänger-Themen 16
x-tshainge Bei if (eingabe = = ... ) enter als eingabe nehemen Java Basics - Anfänger-Themen 4
A wie fange ich ein "enter" auf? Java Basics - Anfänger-Themen 0
L Enter simulieren Java Basics - Anfänger-Themen 10
B Methoden Einen Char einlesen ohne Enter abzuwarten Java Basics - Anfänger-Themen 4
B jTextField bei Enter eingabe absenden? Java Basics - Anfänger-Themen 2
A fire button on JTextField Enter Java Basics - Anfänger-Themen 2
M Enter bei OK_CANCEL_OPTION auf dem Cancel Button deaktivieren? Java Basics - Anfänger-Themen 5
I Aktion ausführen bei Enter Java Basics - Anfänger-Themen 6
H JTable: Eingaben mit ENTER übernehmen Java Basics - Anfänger-Themen 2
J JTextfield mit Enter leeren Java Basics - Anfänger-Themen 3
J Schleife durch nichtseingeben/Enter beenden. Java Basics - Anfänger-Themen 5
StrikeTom Editable JComboBox + enter Wie??? Java Basics - Anfänger-Themen 3
J Mit Enter einen Button aktivieren Java Basics - Anfänger-Themen 5
K JTextField auslesen, wenn Enter gedrückt.. Java Basics - Anfänger-Themen 13
Z Enter löst einen button aus aber wie? Java Basics - Anfänger-Themen 16
M In Konsole auf Enter reagiern Java Basics - Anfänger-Themen 3
D If Schleife mit "Enter" starten Java Basics - Anfänger-Themen 10
G Enter-Zeichen aus String ersetzen Java Basics - Anfänger-Themen 5
M Einzellne Zeichen lesen und ohne Enter terminieren Java Basics - Anfänger-Themen 7
S Programmabsturz bei ENTER Java Basics - Anfänger-Themen 4
N Tastatur direkt einlesen (ohne Enter) Java Basics - Anfänger-Themen 3
S JTextField bei enter Java Basics - Anfänger-Themen 3
B textfeld mit enter auslesen klappt nicht Java Basics - Anfänger-Themen 12
M Button in einem JDialog mit Enter ausführen Java Basics - Anfänger-Themen 2
D Button und "Enter" Java Basics - Anfänger-Themen 13
B JOptionDialog mit Enter Beenden? Java Basics - Anfänger-Themen 2
T aktion bei enter Java Basics - Anfänger-Themen 2
L ActionListener bei Enter Java Basics - Anfänger-Themen 1
R ENTER in InputStream nicht lesen Java Basics - Anfänger-Themen 4
V Enter abwarten / Mehrere Zeilen einlesen Java Basics - Anfänger-Themen 3
F Bei Login mit Enter bestätigen Java Basics - Anfänger-Themen 7
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
S Ergebnisse zwischenspeichern (Analog zu ans-Taste bei Taschenrechnern) Java Basics - Anfänger-Themen 3
D Wie frage ich ab ob die Linke maus Taste gedrückt wurde? Java Basics - Anfänger-Themen 3
Xentox501 keyevent.VK_LEFT wird beim drücken jeder belibigen Taste aktiv. Java Basics - Anfänger-Themen 3
R Input/Output Tastenschläge einer Taste zählen Java Basics - Anfänger-Themen 14
H Methoden Implementieren "Drücken Sie eine beliebige Taste" Java Basics - Anfänger-Themen 5
T MouseListener, recht Taste Java Basics - Anfänger-Themen 2
T JFrame per Taste schließen Java Basics - Anfänger-Themen 15
W Befehl ausführen bei Mausklick + gedrückte Strg-Taste Java Basics - Anfänger-Themen 2
E Taste zwischenspeichern? Java Basics - Anfänger-Themen 4
Zettelkasten Tabulator-Taste? Java Basics - Anfänger-Themen 2
F Applet mit KeyListener, "Alt"-Taste und Konflikt mit Browser Java Basics - Anfänger-Themen 2
J Escape taste geht ohne cursor im textfeld nicht. Java Basics - Anfänger-Themen 4
E AWTEventListener - Taste gedrückt oder los gelassen? Java Basics - Anfänger-Themen 2
D KeyEvent Taste blockieren. Java Basics - Anfänger-Themen 2
R Taste gedrückt = Grafik zeichen ?!? Java Basics - Anfänger-Themen 8
E Mit Taste Methode aufrufen Java Basics - Anfänger-Themen 7
C Konsolenanwendung auf belibige Taste warten Java Basics - Anfänger-Themen 2
D Erstellte Textfelder in Applet mit Tab - Taste anspringen Java Basics - Anfänger-Themen 3
M MenuShortcut nur mittels Shift+Taste Java Basics - Anfänger-Themen 3
G KeyListener für die Taste "/" Java Basics - Anfänger-Themen 5
C Erkennen einer gedrückten Taste Java Basics - Anfänger-Themen 6
V Mausklick mit rechter Taste abfangen? Java Basics - Anfänger-Themen 8
P JOptionPane und Tab-Taste Java Basics - Anfänger-Themen 4
S wie bastelt man eine pause-taste Java Basics - Anfänger-Themen 5
Maxq Klassen Actionen in Button implementieren Java Basics - Anfänger-Themen 6
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
JavaBeginner22 Button Text verändern Java Basics - Anfänger-Themen 1
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
B Zurück Button erstellen Java Basics - Anfänger-Themen 1
Tom/S Button info Java Basics - Anfänger-Themen 2
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
T JSP, Button-Color change. Java Basics - Anfänger-Themen 1
L hilfe run button funktioniert nicht Java Basics - Anfänger-Themen 13
S Erste Schritte Button einen Wert zuweisen & diesen ausgeben Java Basics - Anfänger-Themen 2
S Counter Label Button Java Basics - Anfänger-Themen 4
J Button über Pfeiltasten bewegen Java Basics - Anfänger-Themen 8
J Button als Feld nutzen Java Basics - Anfänger-Themen 17
A JOPtionPaneOptionDialog Abfrage welcher Button gedrückt wurde? Java Basics - Anfänger-Themen 8
J JavaFX Label,Button zur Laufzeit Java Basics - Anfänger-Themen 30
S Klassenaufruf über JFrame Button Java Basics - Anfänger-Themen 3
G JTextField per Button speichern und an andere Klasse übergeben Java Basics - Anfänger-Themen 2
J Spiel mit Button klick starten Java Basics - Anfänger-Themen 9
X TextField-Inhalt mit Button in .txt-Datei speichern Java Basics - Anfänger-Themen 16
J Button klick bei eine bestimmten Zahl Java Basics - Anfänger-Themen 8
S JFrame mit Hintergrundbild und Button Java Basics - Anfänger-Themen 4
P Upload Button funktioniert nicht Java Basics - Anfänger-Themen 13
I Ordnung JLayeredPane mit Button ändern Java Basics - Anfänger-Themen 5
A JLabel mit button drücken verändern Java Basics - Anfänger-Themen 6
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
CptK mit javafx button erstellen Java Basics - Anfänger-Themen 1
AppGuruCode962 Button mit Textfield verbinden Java Basics - Anfänger-Themen 13
L Java gui reset button Fehler!? Java Basics - Anfänger-Themen 2
L Java reset button Problem Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben