Key-Event-Sender

gbunge

Aktives Mitglied
Hallo Fans,
ich habe zwei JTextFields und eine Klasse KeyAdapter.
Wie kann ich in der Klasse Adapter erkennen, welches TextField
den Event ausgelöst hat?
Danke für schnelle Antwort
GBunge
 

gbunge

Aktives Mitglied

KonradN

Super-Moderator
Mitarbeiter
Entweder du hast die Referenzen auf die Komponenten gespeichert, dann kannst Du diese direkt vergleichen.
Oder wenn Du getName nutzen willst, dann setz vorher einen name mittels setName. Natürlich liefert getName null, wenn keiner gesetzt wurde.
 

mihe7

Top Contributor
Java:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
class Test {
    JTextField textField1 = new JTextField(20);
    JTextField textField2 = new JTextField(20);
    KeyAdapter adapter = new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            Component component = e.getComponent();
            if (component == textField1) {
                System.out.println("KeyEvent occured on textField1");
            } else if (component == textField2) {
                System.out.println("KeyEvent occured on textField2");
            }
            System.out.println("KeyEvent occured on Component with name \"" + component.getName() + "\"");
        }
    };
    public void createAndShowGUI() {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        Box box = Box.createVerticalBox();
        box.add(textField1);
        box.add(textField2);
        frame.add(box, BorderLayout.NORTH);
        frame.pack();
        frame.setVisible(true);
        textField1.setName("Benanntes Textfeld #1");
        textField1.addKeyListener(adapter);
        textField2.setName("Benanntes Textfeld #2");
        textField2.addKeyListener(adapter);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new Test().createAndShowGUI());
    }
}
 

Neumi5694

Top Contributor
Oder mach's auf die herkömmliche Art über getSource()


Deine Komponenten haben aber im Normalfall keine Namen. Was du im Quelltext als Variablennamen verwendest, ist während der Laufzeit nicht relevant. Die "Name" Eigenschaft zu verwenden, ist nur sehr selten sinnvoll.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Datei verschoben Event Allgemeine Java-Themen 3
D Event Sourcing umsetzen Was? Wie? Allgemeine Java-Themen 33
N Über einen Button in JavaFX ein Event über eine Pipeline schicken(Netty) Allgemeine Java-Themen 1
FrittenFritze Problem mit einer JComboBox, Event temporär deaktivieren Allgemeine Java-Themen 11
G Methoden Aus einem Event, wo ich weiß, dass es ausgeführt werden wird, eine Get-Methode basteln Allgemeine Java-Themen 8
M Best Practice Alternativen für Event-Handling Allgemeine Java-Themen 3
C Zugriff auf Event felder Allgemeine Java-Themen 0
Bananabert Interface Custom 'Event' mit Interface Allgemeine Java-Themen 10
das-mo Warten auf Event Allgemeine Java-Themen 7
K Event benutzen Allgemeine Java-Themen 4
F None-GUI-Event Handling Allgemeine Java-Themen 3
D mouseMove in mouseMotionListener-Event Allgemeine Java-Themen 3
R Klasse über Button Event in anderer Klasse informieren Allgemeine Java-Themen 11
K event dispatch thread fehler. Compiler meckert nicht aber der Interpreter? Warum?? Allgemeine Java-Themen 11
A Relative Mausposition ohne Event Allgemeine Java-Themen 2
V Priorität der Event-Handlings setzen Allgemeine Java-Themen 4
algorismi int-variable Value Change event Allgemeine Java-Themen 3
slawaweis Suche Klassen für Event Managment und Time Allgemeine Java-Themen 2
B Window Closing Event Allgemeine Java-Themen 3
A Event Handler Allgemeine Java-Themen 5
H Event ähnliches System Allgemeine Java-Themen 20
G XML Event --> Befüllen einer Node Allgemeine Java-Themen 2
Q Dateizugriff mitbekommen - file change event Allgemeine Java-Themen 13
W eigene event-Klasse, event posten Allgemeine Java-Themen 2
M Speichern von Word als Event abfangen Allgemeine Java-Themen 7
P Event-Handling mit JSP Allgemeine Java-Themen 7
MQue public void serialEvent(SerialPortEvent event) Allgemeine Java-Themen 4
E Wie: Eigener Listener, eigenes Event (möglichst einfach) Allgemeine Java-Themen 29
MQue Button Event beim drücken und beim auslassen Allgemeine Java-Themen 7
T OutputStream - Event bei Byte-Fluss Allgemeine Java-Themen 5
E Button: Event auslösen Allgemeine Java-Themen 7
B event kunstlich auslösen Allgemeine Java-Themen 8
R Dasselbe Event zweimal aufgefangen? Allgemeine Java-Themen 10
D Thread durch Mouse-Event beenden Allgemeine Java-Themen 5
I Listener/Event selber machen. Allgemeine Java-Themen 4
S methode stoppen / auf ein event warten Allgemeine Java-Themen 5
G Key Event Allgemeine Java-Themen 2
B Thread soll auf Event warten, dann Daten an Klasse senden Allgemeine Java-Themen 2
G konsolenanwendung durch key event beenden Allgemeine Java-Themen 4
M Event Queues in Java? Allgemeine Java-Themen 10
G Problem Canvas Mouse Event Allgemeine Java-Themen 7
J ToolTipText Event abfangen Allgemeine Java-Themen 5
A Endlosschleife + Event Allgemeine Java-Themen 7
G EHM EVENT handling ? Allgemeine Java-Themen 5
C Menü & event Allgemeine Java-Themen 4
C event weiterreichen Allgemeine Java-Themen 3
R Generische Listener und Sender Allgemeine Java-Themen 12

Ähnliche Java Themen

Neue Themen


Oben