KeyAdapter/KeyListener zum laufen kriegen

Status
Nicht offen für weitere Antworten.

hajj0

Mitglied
Nabend :)

ich wollte gerade einen KeyAdapter bzw. KeyListener (ich weiß nich welches hier das passende wäre :D) zum laufen zu bekommen.

Als Vorbild wollte ich meine bereits funktionierende Maussteuerung nehmen.

Die sieht so aus:

Im Konstruktor:
Code:
        Maus meine_maus = new Maus();
                  bZahl7.addMouseListener(meine_maus);


Dann die Klasse "Maus":
Code:
    class Maus extends MouseAdapter
    {
        public void mousePressed(MouseEvent event)
        {
           try {
               Object object = event.getSource();
               
                // Hier nun die Überprüfungen ob die Quelle mit einem der Buttons übereinstimmt
                }catch (java.lang.Exception e) {}
         }
   }


Da wo der Kommentar steht stehen dann etliche abfragen zur Quelle, z.B. ob die Quelle "bZahl7" ist, was den Namen von einem Button darstellt.




So, das funktioniert soweit. Die Frage ist jetzt, wie ich das mit der Tastensteuerung hinbekomme.

Im groben wollte ich das eigentlich kopieren:

Code:
// Konstruktor
        Tastatur meine_tastatur = new Tastatur();
// Ende Konstruktor

    class Tastatur extends KeyAdapter
    {
        public void keyTyped(KeyEvent event)
        {
            // Sachen
            try {
                Object object = event.getSource();
                if(object == "VK_1")
                {
                    zahl(1);
                }
            }catch (java.lang.Exception e) {}
        }
    }

So, aber das funktioniert so noch nicht.
Bei der Maussteuerung habe ich ja den Button mit dem MouseListener verbunden.

Wie mache ich das mit dem KeyListener?

Wenn ich einfach "VK_1.addKeyListener(meine_tastatur);" eingebe, klappts nicht.
Der sagt mir "variable VK_1" cannot be found, obwohl ich dachte dass VK_1 ne Konstante sei die ich schon durch die Klasse "java.awt.event.KeyEvent" definiert bekomme.

Kann mir das nochmal jemand erklären wie ich die benötigten Tasten mit meiner Tastensteuerung verbinde?

Aus dem API werde ich in der Hinsicht nicht wirklich schlau ???:L
 

The_S

Top Contributor
Du addest z. B. einer JTextArea deinen KeyAdapter. Was du jetzt mit VK_1 willst weiß ich net wirklich ???:L
 

hajj0

Mitglied
was ich damit wollte wusste ich selbst nicht wirklich :D

Was ich möchte ist ansich genau das gleiche wie die Maussteuerung, nur für die Tastatur.

Ich drücke verschiedene Tasten (auf der Tastatur), und infolge dessen ruft das Programm die definierten Methoden auf.

Beispiel: Wenn man mit der Maus auf den Button "AC" klickt, wird die methode ac() aufgerufen.
Nun möchte ich: Wenn man auf der Tastatur auf die Taste "Entf" klickt, dass ebenfalls die methode ac() aufgerufen wird.

Genauso für den Button "Del" wo die methode del() aufgerufen wird.
Der Button "Enter" steht für sich.

Das wären einige Beispiele.

Ich möchte nun also, dass sobald das Programm läuft und man eine Taste drückt, eine bestimmte Methode aufgerufen wird.

Wie kann ich das realisieren?

Denn mit einer (J)TextArea hat das ja ansich nichts zu tun...
 

sayang

Aktives Mitglied
Mit if(object == "VK_1") stimmt ja schonmal was nicht. Du kannst nicht einfach das object (das ja ein KeyEvent ist) mit == "VK_1" checken. Du musst über den keyCode gehen. Siehe unten

Vorab: du willst also offenbar nicht nur auf die "1" hören, sondern auch auf Tasten, die kein Zeichen erzeugen (z. B. ENTF). Dann musst du keyPressed(KeyEvent) oder keyReleased(KeyEvent) statt keyTyped(KeyEvent) benutzen, denn
Key combinations which do not result in Unicode characters, such as action keys like F1 and the HELP key, do not generate KEY_TYPED events

Ich hab hier mal ein kleines Beispiel:
Code:
import java.awt.Dimension;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;

public class KeyTest extends JFrame {

	public KeyTest() {
		super("RectTest");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setPreferredSize(new Dimension(200,200));
		addKeyListener(new KeyAdapter() {
			public void keyReleased(KeyEvent e) {
				switch(e.getKeyCode()) {
					case KeyEvent.VK_1: 
						System.out.println("'1' gedrückt"); 
						break;
					case KeyEvent.VK_DELETE: 
						System.out.println("'ENTF' gedrückt"); 
						break;
					default: 
						System.out.println("Etwas anderes gedrückt");
				}
			}
		});	
	}

	public static void main(String[] args) {
		KeyTest rt = new KeyTest();
		rt.pack();
		rt.setVisible(true);
	}
}

Beachte die switch-Anweisung... das ist das gleiche wie
Code:
if(e.getKeyCode() == KeyEvent.VK_1) {
   System.out.println("'1' gedrückt");
}
else if(e.getKeyCode() == KeyEvent.VK_DELETE) {
   System.out.println("'ENTF' gedrückt");
}
else {
   System.out.println("Etwas anderes gedrückt");
}

Lg
sayang
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Runnable oder Keyadapter läuft falsch Java Basics - Anfänger-Themen 4
M Kleine Konsole mit Threads + KeyAdapter Java Basics - Anfänger-Themen 6
T Erstes RPG: KeyAdapter Problem Java Basics - Anfänger-Themen 3
F KeyAdapter registrieren Java Basics - Anfänger-Themen 5
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
B Bild per KeyListener drehen Java Basics - Anfänger-Themen 1
javalux123 Keylistener auf andere Fenster Java Basics - Anfänger-Themen 3
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
M KeyListener reagiert nicht Java Basics - Anfänger-Themen 4
M Mit KeyListener Farbe von Label ändern Java Basics - Anfänger-Themen 13
N Java Keylistener Java Basics - Anfänger-Themen 2
B KeyListener funkioniert nicht Java Basics - Anfänger-Themen 2
F KeyListener Java Basics - Anfänger-Themen 3
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
G KeyListener und JButton vertragen sich nicht Java Basics - Anfänger-Themen 1
J-Gallus Keylistener verstehen Java Basics - Anfänger-Themen 17
S Keylistener Java Basics - Anfänger-Themen 16
S Keylistener im Grafikfenster Java Basics - Anfänger-Themen 3
H Mouse- und KeyListener Probleme? Java Basics - Anfänger-Themen 5
N KeyListener in Thread Java Basics - Anfänger-Themen 0
LexeB4F for schliefe in KeyListener Java Basics - Anfänger-Themen 3
R KeyListener auslagern Java Basics - Anfänger-Themen 3
J KeyListener aus anderer Klasse bereitet Probleme Java Basics - Anfänger-Themen 1
Z KeyListener funktioniert nicht? Weshalb? Java Basics - Anfänger-Themen 8
T KeyListener Java Basics - Anfänger-Themen 2
Gfreak23 Input/Output KeyListener funktioniert auf Laptop nicht allerdings auf Tower-PC Java Basics - Anfänger-Themen 8
J KeyListener - mal wieder... Java Basics - Anfänger-Themen 2
TheSorm KeyListener Problem Java Basics - Anfänger-Themen 4
M KeyListener Java Basics - Anfänger-Themen 3
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
D KeyListener nicht mehr aktiv nach ActionPerformed Java Basics - Anfänger-Themen 2
C Mehrere Tasten beim KeyListener gleichzeitig lesen Java Basics - Anfänger-Themen 2
L Input/Output Java 3D mit KeyListener Java Basics - Anfänger-Themen 1
S KeyListener reagiert nicht. Java Basics - Anfänger-Themen 4
L KeyListener ohne textfeld Java Basics - Anfänger-Themen 4
J KeyListener,MouseListener,MouseMotionListener und static Java Basics - Anfänger-Themen 7
P Klassen Bei KeyEvent in KeyListener den Tastendruck abbrechen Java Basics - Anfänger-Themen 5
B KeyListener als allgemeine Methode Java Basics - Anfänger-Themen 5
H KeyListener auf ganzes Fenster setzen Java Basics - Anfänger-Themen 14
0 KeyListener ausserhalb der Applikation Java Basics - Anfänger-Themen 5
G KeyListener Java Basics - Anfänger-Themen 4
D KeyListener und ActionListener Problem Java Basics - Anfänger-Themen 6
J KeyListener funtioniert nicht! Java Basics - Anfänger-Themen 3
J KeyListener Java Basics - Anfänger-Themen 11
P Input/Output KeyListener reagiert nicht Java Basics - Anfänger-Themen 4
G KeyListener, Fokus Java Basics - Anfänger-Themen 8
K Input/Output KeyListener funktioniert nicht Java Basics - Anfänger-Themen 3
A Input/Output Keylistener Aktiv schalten Java Basics - Anfänger-Themen 8
J keyListener - Genau 1 Aktion soll bei 1 Tastenausdruck ausgeführt werden Java Basics - Anfänger-Themen 11
S KeyListener Java Basics - Anfänger-Themen 2
A Erste Schritte Problem mit KeyListener Java Basics - Anfänger-Themen 6
Maxim6394 KeyListener geht nicht Java Basics - Anfänger-Themen 15
A Wie KeyListener adden? Java Basics - Anfänger-Themen 15
Maxim6394 KeyListener funktioniert nicht Java Basics - Anfänger-Themen 20
U KeyListener StackOverflowError Java Basics - Anfänger-Themen 2
W KeyListener auf Applet mit Runnable Java Basics - Anfänger-Themen 4
M Apfel-Spiel KeyListener Java Basics - Anfänger-Themen 33
J KeyListener (keyTyped) funktioniert nicht Java Basics - Anfänger-Themen 9
Luk10 KeyListener Java Basics - Anfänger-Themen 13
S KeyListener aus anderer Klasse hinzufügen Java Basics - Anfänger-Themen 19
P KeyListener im Applet Java Basics - Anfänger-Themen 2
S KeyListener-Anwendung Java Basics - Anfänger-Themen 7
O KeyListener funktioniert nur wenn er will Java Basics - Anfänger-Themen 2
A KeyListener funzt ned Java Basics - Anfänger-Themen 6
D KeyListener, Unterscheidung Groß/Kleinbuchstaben Java Basics - Anfänger-Themen 3
S KeyListener als class? Java Basics - Anfänger-Themen 4
F Applet mit KeyListener, "Alt"-Taste und Konflikt mit Browser Java Basics - Anfänger-Themen 2
P KeyListener Java Basics - Anfänger-Themen 2
S KeyListener für einfaches Programm Java Basics - Anfänger-Themen 3
S KeyListener aktiv auch wenn minimiert? Java Basics - Anfänger-Themen 4
Z Globaler Keylistener Java Basics - Anfänger-Themen 2
V KeyListener Beispiel Java Basics - Anfänger-Themen 13
T canvas killt KeyListener Java Basics - Anfänger-Themen 2
Das Brot Nach .add(JRadioButton) funktioniert der KeyListener nicht mehr Java Basics - Anfänger-Themen 2
J Keylistener aber wie jTextField auswahl? Java Basics - Anfänger-Themen 3
D KeyListener, nichts passiert Java Basics - Anfänger-Themen 6
U ActionListener und KeyListener - KeyListener funktioniert nicht Java Basics - Anfänger-Themen 2
D Keylistener zu langsam Java Basics - Anfänger-Themen 7
C Problem mit JPopupMenu, JTextField und Keylistener Java Basics - Anfänger-Themen 2
G Keylistener in einer Schleife Java Basics - Anfänger-Themen 9
M problem mit keylistener Java Basics - Anfänger-Themen 2
M TabbedPane: KeyListener funktioniert nicht mehr Java Basics - Anfänger-Themen 8
N KeyListener ohne GUI? Java Basics - Anfänger-Themen 5
M KeyListener Java Basics - Anfänger-Themen 3
T KeyListener wird nicht ausgelöst Java Basics - Anfänger-Themen 6
O KeyListener Java Basics - Anfänger-Themen 8
Developer_X KeyListener ohne JFrame Java Basics - Anfänger-Themen 13
H KeyListener Java Basics - Anfänger-Themen 4
Developer_X KeyListener Actions (hat mit Java3D zu tun) Java Basics - Anfänger-Themen 20
H KeyListener funktioniert nicht Java Basics - Anfänger-Themen 8
Developer_X JFrame soll KeyListener adden Java Basics - Anfänger-Themen 32
F Keylistener Java Basics - Anfänger-Themen 12
hdi KeyListener : keyTyped() nicht nutzbar? Java Basics - Anfänger-Themen 1
StickToFreak Runnable + KeyListener? Java Basics - Anfänger-Themen 32
dl85hej Keylistener Java Basics - Anfänger-Themen 16
H KeyListener will nicht reagieren Java Basics - Anfänger-Themen 5
R Fehlersuche - KeyListener, KeyAdaper - Nichts Klappt! Java Basics - Anfänger-Themen 2
G Prob. mit KeyListener und Unterklasse Java Basics - Anfänger-Themen 5
G Keylistener nur besimmte Zeichen zulassen Java Basics - Anfänger-Themen 8
hdi keylistener hat keinen fokus oder: listener ohne frame? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben