# Button actions mit Tastatur ausführen



## Ralf (1. Dez 2003)

Hallo,

ich möchte für meine Buttons nicht nur die Aktion ausführen, wenn auf sie geklickt wird, sondern auch wenn eine bestimmte Tastatureingabe erfolgt ist. Also z.B. "p" oder "control u" usw..
Wie mache ich das? Bitte mit Quellcode.
button.addKeyListener() geht glaub nicht..


----------



## bygones (1. Dez 2003)

doch geht:


```
JButton b = new JButton("TEst");
b.addKeyListener(new KeyListener() {
    .
    .
    .
    .
});
```


----------



## Ralf (1. Dez 2003)

OK, das geht, wenn der jeweilige Button den Focus erhalten hat. Bei mir ist es aber so, dass die nicht fokussierbar sind.


----------



## Stefan1200 (1. Dez 2003)

Bei Swing kann man einfach ein Mnemonic setzen.


```
JButton hallo = new JButton("Hallo");
hallo.setMnemonic('B'); // Alt + b
```

Bei AWT geht das aber nicht.


----------



## Ralf (1. Dez 2003)

Naja, das ist alles so wischi waschi 
bei setMnemonic kann ich ctrl-Masken vergessen, oder einzelne Charakter..
Gibt es nicht irgendwas mit setAction oder so und hab was gehört von einer Konstante WHEN_IN_FOCUSED_WINDOW usw.. Aber wie das zusammenspielt??


----------



## bygones (1. Dez 2003)

was willst du eigentlich machen ?

wenn du z.b. einen Dialog mit lauter Textfelder hast und dann einen Button mit dem du eine Aktion ausführst - warum sollte dann nur der Button auf einen Key reagieren, und z.B. nicht der Dialog ???


----------



## Ralf (1. Dez 2003)

Es ist eben so, dass ich die Einstellungen aus einer XML File hole. Also Icon für die Buttons, Tooltips, Action id's usw..  was auch alles prima funktioniert, und dann eben einen Action Command dazu (wie z.B. control f). Und dieser soll dann eben, im Frame angewendet, einen Klick auf den Button simulieren. Dieses Frame und die Buttons sind halt in verschiedenen Klassen und die Action gehört ja eher zu dem Button, der ja auch den Command aus der XML bekommt. War das nun verständlich?


----------

