Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo i hät da eine Frage wie kann man einem JButton nur einen Buchstaben zuweisen? Das man nur auf in drückt un z.b der Buchstabe A gedrückt wird? Weis jemand wie da der Codel auten mauss i weis irgendwas mit Keylistner aber wie schreibt man das im Code professionel?? TX!
also logisch wäre es, wenn du dem jframe nen keylistener verpasst, und bei beispielsweise einem gedrückten 'A' rufst du die doClick()-methode des buttons aus...
aber wie gesagt, dies ist nur aus der logischen sicht, weiß nicht, ob das auch wirklich so gehn tut
na wenn ein user dann normal auf den button drücken will?
dann gibts deiner meinung nach keine action?
Code:
final JButton b = new JButton("BlaBla);
b.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_1) b.doClick();
}
});
und dann einfach mit actionlistener programmieren und der button macht beim draufklicken und beim drücken von der bestimmten taste deine action
KeyEvent.VK_1 bewirkt das beim drücken von "1" der button auch gedrückt wird.
schau in der api nach welche möglichkeiten es hier für buchstaben gibt. a müsste ja KeyEvent.VK_A sein.
final JButton b = new JButton("BlaBla);
b.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_1) b.doClick();
}
});
wird nicht compiliert werden, es muss
Code:
final JButton b = new JButton("BlaBla[color=green]"[/color]);
b.addKeyListener(new Key[color=green]Adapter[/color]() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_1) b.doClick();
}
});
heißen.
Edit: Tut mir leid wegen der Codetags, aber ich brauche eben die Farbe.
Man sollte sich ohnehin überlegen, ob man den KeyListener tatsächlich beim Button anmeldet, da er dann den Fokus braucht.
Wildcard hat da mal was gepostet, mit InputMap und ActionMap...
ja das hab ich mir auch schon gedacht, hab dann aber explizit auf die frage geantwortet.
blöderweise gehts auch nicht mit einem KeyListener am JFrame.
also bleibt nur noch die Input und ActionMap methode übrig, die aber ohnehin die besten lösungen sind
Dann geben wir Schlaumi Schlumpf also den Rat, nach Input Map und Action Map zu googeln (es sei denn natürlich, jemand erklärt sich bereit, das zu erklären :lol: ).
mmh als irgendwie bleibt das ding tot also i hab mal diesnes Code verwendet :
Code:
final JButton b = new JButton("BlaBla");
b.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_1) b.doClick();
}
});
aber es passiert nix es lässt sich fehlerfrei übersetzen ???
Ok i hab gesehn i hab glaub mich falsch ausgedrückt mmh also dein Code klappt jetzt mit dem Button aber wollte eignetlcih was anderes damit machen ?? Wie geht das dann das man auf den gewünshten Button drückt un dieser in einer Textarea erscheint ? Weil bei diesem Code
final JButton b = new JButton("BlaBla");
b.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_1) b.doClick();
}
});
hab ich festgestellt das nur der Button reagiert das er gedrückt wird allerdings wird nicht der Buchstabe in ne Textarea geschrieben is mir echt peinlich sorry nochmal??? Wie nennt man das dann??