Tastatur KeyListener für mehrere Buttons

Vivyel

Mitglied
Hallo Leute,

Vorweg:
ich habe die buttons 0-9, für diese habe ich bereits eine hilfsklasse(für action performed event) erstellt, welche einwandfrei funktioniert.
ich habe diesen listener wie folgt umgesetzt:
btn1.setActionCommand("1"); // dem button diesen command zugewiesen

und anschließend in der hilfsklasse diesen switch erstellt:
switch(e.getActionCommand()){

case "1":
lbleingabe.setText( lbleingabe.getText() + "1"); //aktion für button mit dem command "1"
break;
....

danach musste ich nur noch den listener dem button zuweisen in etwa so:
btn1.addActionListener(new ActionListenerTasten()); //name der hilfsklasse in klammer

-> das button anklicken funktioniert also einwandfrei

Erweiterung und Problem:
jetzt möchte ich zu den Buttons zusätzlich die Tastatur hinzufügen über eine weitere hilfsklasse(KeyListener)

hier habe ich es nicht hinbekommen die selbe lösung wie oben zu benutzen.
ich habe es folgendermaßen versucht:

Java:
public class KeyListenerTasten implements KeyListener {
    static JLabel lbleingabe;
    @Override
    public void keyPressed(KeyEvent e) {
         lbleingabe=matheSpielfenster.lbleingabe;
    int tasten = e.getKeyCode();
   
        if (tasten ==KeyEvent.VK_1 || tasten == KeyEvent.VK_NUMPAD1){
            lbleingabe.setText( lbleingabe.getText() + "1");
// weitere buttons

        }
    
    }

und im button den keylistener hinzugefügt:
btn1.addKeyListener(new KeyListenerTasten());

-> es passiert nichts wenn ich eine taste drücke, ich kann mir nicht erklären weshalb. Eigentlich sollte es so doch funktionieren? Bitte helft mir den Fehler zu finden.

-> des weiteren versuche ich die listener mit einer if clause zu verbinden und zwar folgende:
Java:
private void längebegrenzen(){
            //eingabelänge begrenzen
                int laenge = lbleingabe.getText().length();
                if (laenge >= 4) {
                //tu nix
                }
               
               
                else {
                //text aus button einfügen
                   
                   
                    //btn1.addActionListener(new ActionListenerTasten()); geht nicht
               
                lbleingabe.revalidate();
                }
            }


die die länge des eingabelbl begrenzt. ich habe folgendes schon versucht, nichts funktioniert:

1. in der action listener hilfsklasse die if clause einbinden. dabei habe ich den switch in die else anweisung gesetzt.

2. die begrenzung als methode und dort die listener methode im elsezweig aufrufen.

3. das einzige was geht ist die ifclause immer für jeden button einzeln in einen action listener pro button einzufügen.

P.S. gibt es in java auch noch eine möglichkeit wie ich den code für das reinschreiben der zahlen von tastatur und button anklicken verkürzen kann?

in c# hatte ich mal eine methode geschrieben die erkennen konnte, welcher button temporär gedrückt wird und hat dessen content ins "label" geschrieben. so konnte ich mir die arbeit sparen für jeden button den befehl und scheibe zahl x zu schreiben. in Java bekomm ich das aber i-wie nicht hin.

Liebe Grüße

Vivyel
 
Zuletzt bearbeitet:

Vivyel

Mitglied
oh sry leute ich bin so blöd, oder ich programmier heute einfach wieder viel zu lange.

bezüglich action listener und begrenzung fürs label, das habe ich jetzt gelöst. war nur ein denkfehler! die if clause der Begrenzung muss natürlich in den case und nicht um den switch.

das einzige was noch bleibt ist mein p.s. und mein keylistener, der funktioniert einfach gar nicht.wenn ich eine taste drücke schreibt er gar nichts.:(
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
7 KeyListener tastatur temporär blockieren AWT, Swing, JavaFX & SWT 7
N Objecte bewegen mit Tastatur AWT, Swing, JavaFX & SWT 5
T GUI über Tastatur bedienen AWT, Swing, JavaFX & SWT 3
N Swing JScrollPane mit Tastatur bedienen? AWT, Swing, JavaFX & SWT 0
L Swing Tastatur zeichen AWT, Swing, JavaFX & SWT 4
S Tastatur frame nur nur 1 mal öffnen AWT, Swing, JavaFX & SWT 1
G Tastatur abfragen AWT, Swing, JavaFX & SWT 0
M Button klicken anstelle der Tastatur AWT, Swing, JavaFX & SWT 2
I ausgewählte Zeile mit Hilfe der Tastatur löschen! AWT, Swing, JavaFX & SWT 3
kodela Swing JToggleButton und Tastatur AWT, Swing, JavaFX & SWT 2
J Inaktivität von Maus und Tastatur AWT, Swing, JavaFX & SWT 4
C Swing Änderung der Tastatur-Navigation in einer JTable AWT, Swing, JavaFX & SWT 4
S Tastatur-Shortcut klappt nicht AWT, Swing, JavaFX & SWT 17
S Tastatur Event auserhalb des fokuses aufnehmen AWT, Swing, JavaFX & SWT 4
vladimir Swing virtuelle Tastatur realisieren AWT, Swing, JavaFX & SWT 3
M Tastatur simulieren AWT, Swing, JavaFX & SWT 20
D Swing JTree Was passiert beim Tippen auf Tastatur. AWT, Swing, JavaFX & SWT 2
B JTree - Kontextmenü per Tastatur öffnen AWT, Swing, JavaFX & SWT 3
D Tastatur Shortcut auslösen bei FocusGained-Event AWT, Swing, JavaFX & SWT 2
B JTable & Tastatur-Shortcuts AWT, Swing, JavaFX & SWT 3
J Auslösung von Aktionen über Tastatur (Netbeans) AWT, Swing, JavaFX & SWT 23
S Virtuelle Tastatur AWT, Swing, JavaFX & SWT 30
M Tastatur komplett sperren? AWT, Swing, JavaFX & SWT 9
T Gleichzeitiges Steuern von 2 Objekten über Tastatur AWT, Swing, JavaFX & SWT 8
I Globale Tastatur-Events abfragen AWT, Swing, JavaFX & SWT 3
N Tastatur Zeichen einlesen ohne sichtbares Fenster AWT, Swing, JavaFX & SWT 8
R Button actions mit Tastatur ausführen AWT, Swing, JavaFX & SWT 6
F JComboBox setEditable( true ) auf Tastatur Events reagieren AWT, Swing, JavaFX & SWT 4
P JTextfield Text durch Keylistener verändern AWT, Swing, JavaFX & SWT 4
N Keylistener & JComboBox AWT, Swing, JavaFX & SWT 5
B Swing JButton mit KeyListener AWT, Swing, JavaFX & SWT 3
H KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
Fridolin111 Der KeyListener Löst kein event aus AWT, Swing, JavaFX & SWT 6
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
S Swing JPanel nimmt keinen KeyListener an AWT, Swing, JavaFX & SWT 7
P JPanel KeyListener hinzufügen AWT, Swing, JavaFX & SWT 8
B Swing KeyListener auf Container? AWT, Swing, JavaFX & SWT 1
T Event Handling KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 10
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
C Keylistener funktioniert nicht AWT, Swing, JavaFX & SWT 1
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
A Event Handling Muss ich 'KeyListener' tasuend mal zufügen? AWT, Swing, JavaFX & SWT 7
S mit keylistener frame schliessen AWT, Swing, JavaFX & SWT 8
S Keylistener reagiert bei Buttons nicht. AWT, Swing, JavaFX & SWT 8
S KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 2
R KeyListener in mehreren Panels AWT, Swing, JavaFX & SWT 5
J JLabel Visible setzen in KeyListener AWT, Swing, JavaFX & SWT 13
X KeyListener AWT, Swing, JavaFX & SWT 0
L KeyListener für JDialog AWT, Swing, JavaFX & SWT 7
N KeyListener funktioniert nicht richitg AWT, Swing, JavaFX & SWT 4
Z SnakeGame Schlange per KeyListener bewegen! AWT, Swing, JavaFX & SWT 10
T KeyListener AWT, Swing, JavaFX & SWT 2
GianaSisters JFrame mit JInternalFrames, Keylistener-Problem AWT, Swing, JavaFX & SWT 9
7 AWT problem: KeyListener/ test im Label umändern AWT, Swing, JavaFX & SWT 4
B SWT Problem: Wie kann man für jede TableColumn einen eigenen KeyListener registrieren. AWT, Swing, JavaFX & SWT 1
U Mouse + Keylistener AWT, Swing, JavaFX & SWT 12
K ActionListener mit KeyListener AWT, Swing, JavaFX & SWT 7
J JWindow und keylistener AWT, Swing, JavaFX & SWT 1
F JavaFX KeyListener zum Fenster öffnen/schließen AWT, Swing, JavaFX & SWT 9
A Swing KeyEvent mit KeyListener und KeyAdapter kürzer schreiben AWT, Swing, JavaFX & SWT 7
D JTextArea auf KeyListener Command AWT, Swing, JavaFX & SWT 6
C KeyListener AWT, Swing, JavaFX & SWT 5
Doopy Event Handling KeyListener funktioniert nach Restart nicht mehr AWT, Swing, JavaFX & SWT 7
S KeyListener geht nicht AWT, Swing, JavaFX & SWT 12
C Swing KeyListener in JPanel AWT, Swing, JavaFX & SWT 2
A KeyListener Button wechseln & Programm beenden AWT, Swing, JavaFX & SWT 4
M Frage zu KeyListener bzgl. JApplet AWT, Swing, JavaFX & SWT 3
H Bild mit KeyListener verschieben AWT, Swing, JavaFX & SWT 2
C JTextField KeyListener AWT, Swing, JavaFX & SWT 6
Y KeyListener, GUI Thread, repaint AWT, Swing, JavaFX & SWT 7
bluerob Fehler bei Wertübermittlung über KeyListener AWT, Swing, JavaFX & SWT 3
E Swing KeyListener implementieren AWT, Swing, JavaFX & SWT 12
P KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 11
M KeyListener richtig implementieren AWT, Swing, JavaFX & SWT 3
T KeyListener AWT, Swing, JavaFX & SWT 4
R KeyListener in JWindow AWT, Swing, JavaFX & SWT 7
T BlueJ KeyListener AWT, Swing, JavaFX & SWT 7
Z KeyListener AWT, Swing, JavaFX & SWT 2
M Swing KeyListener in JTextfield AWT, Swing, JavaFX & SWT 4
C Swing KeyListener für JPanel funktioniert nicht AWT, Swing, JavaFX & SWT 8
VfL_Freak Swing KeyListener, um einen Dialog per ESC zu schließen AWT, Swing, JavaFX & SWT 6
A Keylistener reagiert nicht AWT, Swing, JavaFX & SWT 10
D Problem mit KeyListener AWT, Swing, JavaFX & SWT 2
J KeyListener um auf CTRL-Enter zu reagieren AWT, Swing, JavaFX & SWT 2
L Snake in Java KeyListener Problem AWT, Swing, JavaFX & SWT 30
B "globaler" KeyListener? AWT, Swing, JavaFX & SWT 3
B JTable TableHeader KeyListener AWT, Swing, JavaFX & SWT 4
S Swing KeyListener und JList AWT, Swing, JavaFX & SWT 2
R KeyListener funzt nicht AWT, Swing, JavaFX & SWT 2
X KeyListener AWT, Swing, JavaFX & SWT 4
P KeyListener + Animation AWT, Swing, JavaFX & SWT 2
M Fokus für KeyListener AWT, Swing, JavaFX & SWT 9
V Problem mit KeyListener im Fullscreen-Modus AWT, Swing, JavaFX & SWT 2
M AWT KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 10
C Swing KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 7
K JFrame + KeyListener + Runnable = Fehler AWT, Swing, JavaFX & SWT 3
F Tastenabfrage (KeyListener) AWT, Swing, JavaFX & SWT 2
D KeyListener Problem bei JPanel wechsel AWT, Swing, JavaFX & SWT 2
S Swing JTree mit KeyListener AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben