KeyEvent in JButton?

Status
Nicht offen für weitere Antworten.

zickzack0312

Mitglied
Hallo,

eine einfache Frage: Wie soll ich das implementieren, dass einen JButton durch Drücken "Return" Key gleichwirkend gedrückt wird.


Code:
JPanel jp = new JPanel();
JButton b =  new JButton("Enter");
jp.add(b);
jp.addKeyListener(new KeyLister());

.........................................
class KeyListener extends KeyAdapter {
						 
		public void keyPressed(KeyEvent e) {
			if (e.getSource() == KeyEvent.VK_ENTER)
                        {.............}  // was soll hier rein
 

zickzack0312

Mitglied
danke erstmal. Es funktioniert aber nicht, dh. es macht nichts wenn ich "Return" drücke. Ich weiss nicht ob ich irgendwo einen Fehler gemacht habe. Die Code sieht so aus:

Code:
class JP extends JPanel{

private JButton b;

public JP(){
b =  new JButton("Enter");
this.add(b);
this.addKeyListener(new KeyLister());
....................................
b.addActionListener(new ActionListener()
				{
					public void actionPerformed(ActionEvent e)
					{...............}});


   }
.........................................
  class KeyListener extends KeyAdapter {
                  
      public void keyPressed(KeyEvent e) {
         if (e.getSource() == KeyEvent.VK_ENTER)
                        {b.doClick();
         }}}  



}
 

nagash56

Aktives Mitglied
Vielleicht funktioniert es, wenn du nicht dem JPanel den Listener hinzufügst sondern einer höher geordneten Komponente in dem das Panel ist (JDialog, JFrame), die auch den Focus für KeyEvents haben *shrug*
 
B

Beni

Gast
Code:
(e.getSource() == KeyEvent.VK_ENTER)
Diese Bedingung wird nie angesprochen: denn die Source ist die Komponente, welche den Fokus hatte, als die Taste gedrückt wurde (das ist was anderes als der KeyCode :wink: )

Versuch mal
Code:
(e.getKeyCode() == KeyEvent.VK_ENTER)


Und: immer die Komponente, welche den Fokus besitzt, bekommt das Event, die anderen nicht.
Du musst also alle Komponenten deines Dialoges/Frames abhören, wenn das universell funktioniern soll.
 

zickzack0312

Mitglied
sorry, das e.getSource() habe ich früher schon geändert, aber es funktioniert trotzdem nicht. und dein Vorschlag habe ich auch nicht ganz verstanden. Die Struktur meines Programms sieht etwa so:

JButton---->JPanel0---->JTabbedPane---->JPanel---->JFrame

wer besitzt den Focus? wo muss ich den Listener einsetzen?
 
B

Beni

Gast
Der Focus besitzt diejenige Component, auf welcher du arbeitest. Wenn du z.B. auf einen Knopf drückst, besitzt der Knopf den Focus. Wenn du auf ein Textfeld drückst (und in ihm schreibst), besitzt das Textfeld den Focus.
-> Jede Component auf deinem Frame kann den Focus besitzen, und welche es tatsächlich ist, wechselt die ganze Zeit.
-> Der Listener muss bei jeder Component angemeldet werden (nicht nur bei den Parentcomponents deines Buttons!)
 

flanker

Aktives Mitglied
Hier eine etwas andere Lösung, mir gefäht so besser:

Code:
Action action = getAction("ActionKeyInMap");
button.addActionListener(action);
button.registerKeyboardAction(action,
                                             KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),
                                             JButton.WHEN_IN_FOCUSED_WINDOW);

Ich denke, grundsätzlich ist es besser, wenn die Actions in
einem Pool (Map etc.) gehalten werden, denn eine Action kann
wiederverwendet werden, z.B.: im JMenuItem.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JLabel bzw. Image Icon mit KeyEvent bewgen Java Basics - Anfänger-Themen 9
T KeyEvent Problem Hilfe!! Java Basics - Anfänger-Themen 5
Xentox501 keyevent.VK_LEFT wird beim drücken jeder belibigen Taste aktiv. Java Basics - Anfänger-Themen 3
T KeyEvent - Gedankenfehler? Java Basics - Anfänger-Themen 3
P Klassen Bei KeyEvent in KeyListener den Tastendruck abbrechen Java Basics - Anfänger-Themen 5
S Eigene KeyEvent-Mask erstellen Java Basics - Anfänger-Themen 4
B Input/Output jTextField - KeyEvent - Zeichen soll nicht erscheinen Java Basics - Anfänger-Themen 6
F KeyEvent Frage Java Basics - Anfänger-Themen 2
MrGe keyevent gleichheitszeichen Java Basics - Anfänger-Themen 2
S KeyEvent Maker funktioniert nicht. Java Basics - Anfänger-Themen 4
S String KeyEvent parsen Java Basics - Anfänger-Themen 2
I KeyEvent macht nichts.^^ Java Basics - Anfänger-Themen 3
D KeyEvent Taste blockieren. Java Basics - Anfänger-Themen 2
StickToFreak Graphicsg, KeyEvent ec <-- geht das? Java Basics - Anfänger-Themen 11
? Problem mit KeyEvent.VK_DOWN Java Basics - Anfänger-Themen 4
A KeyEvent wird nicht erkannt Java Basics - Anfänger-Themen 2
A keyevent > keyPressed > vk_enter Java Basics - Anfänger-Themen 12
P KeyEvent.VK_Enter Java Basics - Anfänger-Themen 3
G KeyEvent in JFrame Java Basics - Anfänger-Themen 2
S Keyevent in Panel Java Basics - Anfänger-Themen 5
C public void keyPressed(KeyEvent e) Java Basics - Anfänger-Themen 2
G KeyListener und KeyEvent Java Basics - Anfänger-Themen 6
S KeyEvent Tastenkombination? Java Basics - Anfänger-Themen 1
D Button KeyEvent zuweisen. Java Basics - Anfänger-Themen 15
G KeyEvent verzögert Java Basics - Anfänger-Themen 11
G KeyEvent auswerten Java Basics - Anfänger-Themen 2
Hilde22 Neu Start JButton einfügen Java Basics - Anfänger-Themen 2
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
M JButton setBackground() färbt nicht den ganzen Knopf Java Basics - Anfänger-Themen 4
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
J Jbutton blinkt Java Basics - Anfänger-Themen 5
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
E JButton und JTextField Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
J Erste Schritte if Abfrage von JButton in 2. Klasse Java Basics - Anfänger-Themen 27
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
krgewb Icon von JButton ändern Java Basics - Anfänger-Themen 1
P JButton -Arrays Java Basics - Anfänger-Themen 4
A JButton in anderer Klasse bearbeiten. Java Basics - Anfänger-Themen 2
L Erste Schritte JButton reagiert nicht Java Basics - Anfänger-Themen 5
S Bild über JButton legen Java Basics - Anfänger-Themen 3
V Einem JButton anweisungen geben Java Basics - Anfänger-Themen 4
D Methoden JButton und JLabel in einer Methode erstellen Java Basics - Anfänger-Themen 5
F Interface JButton von anderer Klasse hinzufügen Java Basics - Anfänger-Themen 2
J JButton macht was er will Java Basics - Anfänger-Themen 3
D JButton soll Farbe von JTextfield ändern Java Basics - Anfänger-Themen 5
H JButton - Wechsel der Textfarbe alle 500ms Java Basics - Anfänger-Themen 10
G KeyListener und JButton vertragen sich nicht Java Basics - Anfänger-Themen 1
N JButton anpassen Java Basics - Anfänger-Themen 3
S JButton soll für bestimmte Zeit verschwinden Java Basics - Anfänger-Themen 5
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
D JButton in JDialog mit Action belgen Java Basics - Anfänger-Themen 6
V JButton einer anderen Klasse übergeben? Java Basics - Anfänger-Themen 6
F JButton [] mit Werten hinterlegen Java Basics - Anfänger-Themen 10
M Code um per jButton ein neues Fenster zu öffnen Java Basics - Anfänger-Themen 3
A weiter JButton Fehler Java Basics - Anfänger-Themen 3
W JTable mit einem JButton-Array füllen Java Basics - Anfänger-Themen 4
S JCombobox und JButton verknüpfen Java Basics - Anfänger-Themen 6
V wie kann ich eine Schleife pausieren, bis ein Jbutton gedrückt wird ? Java Basics - Anfänger-Themen 17
N Erste Schritte JButton reagiert nur einmal. Java Basics - Anfänger-Themen 12
S JButton Java Basics - Anfänger-Themen 2
A Farben wechseln mit JButton Java Basics - Anfänger-Themen 2
S Farbe eine Zeile in JTable ändern, wenn JButton geklickt wurd Java Basics - Anfänger-Themen 4
F Funktion eines JButton in einen Vektor verlagern Java Basics - Anfänger-Themen 4
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
K JButton alles zurücksetzen Java Basics - Anfänger-Themen 1
U JButton: Beschriftung ueber Variable zuweisen Java Basics - Anfänger-Themen 6
S JButton erscheint erst bei Mouseover Java Basics - Anfänger-Themen 10
S JButton mit ActionListener Java Basics - Anfänger-Themen 5
S JDK installieren JButton BorderPoints?! Java Basics - Anfänger-Themen 7
E Problem mit erben von JButton Java Basics - Anfänger-Themen 7
J Bei Hinzufügen von JButton Programm langsam Java Basics - Anfänger-Themen 3
J Verknüpfung von JButton to JTextField Java Basics - Anfänger-Themen 4
S Jbutton per Passworteingabe aktivieren Java Basics - Anfänger-Themen 2
G über JButton Action einen anderen Button verändern Java Basics - Anfänger-Themen 7
H JButton - Icon(.png) aus resources laden Java Basics - Anfänger-Themen 23
M Hintergrundbild für JButton Java Basics - Anfänger-Themen 6
A jbutton - icon linksbündig, text zentriert Java Basics - Anfänger-Themen 10
M Input/Output JFrame mit JButton und JTextfield Java Basics - Anfänger-Themen 114
J Hilfe bei JButton Java Basics - Anfänger-Themen 6
A JButton[] und String[] in doppelter For-Schleife Java Basics - Anfänger-Themen 4
W JButton in gleiche Größe bringen Java Basics - Anfänger-Themen 4
pg1337 JButton zuschneiden Java Basics - Anfänger-Themen 3
T Modales JDialog schliessen mit JButton Java Basics - Anfänger-Themen 2
D JButton Array setBackground Java Basics - Anfänger-Themen 2
F JButton wie selektierter JTabbebPane-Header Java Basics - Anfänger-Themen 7
G jButton bei Klick String +1 Java Basics - Anfänger-Themen 5
C OOP Java JButton mit Funktion belegen Java Basics - Anfänger-Themen 3
S JButton wird nicht angezeigt Java Basics - Anfänger-Themen 14
C JButton.getIcon() != null Java Basics - Anfänger-Themen 3
E JButton-Text wird in Schleife nicht geändert Java Basics - Anfänger-Themen 4
F welches Layout für JButton-Liste verwenden Java Basics - Anfänger-Themen 6
T JButton Text ändern Java Basics - Anfänger-Themen 4
L JButton erscheint nur mit pack() Java Basics - Anfänger-Themen 3
U Passwort auf JButton setzen. Java Basics - Anfänger-Themen 2
E JButton Hintergrund / Rahmen entfernen? Java Basics - Anfänger-Themen 4
L Bild auf einem JButton Java Basics - Anfänger-Themen 4
K JButton.setText Problem Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben