KeyListener Problem bei JPanel wechsel

Doltsche

Mitglied
Hallo zusammen

Ich habe eine kleine Window-Klasse erstellt, welche über eine Methode verfügt um den ContentPane sprich das JPanel zu wechseln welche folgendermassen aussieht:

Java:
public void setContentPane(Container panel){
        getContentPane().removeAll();
        getContentPane().add(panel);
        invalidate();
        validate();
    }

Weiter wird der Klasse bereits bei der Instanzierung ein JPanel übergeben, damit man nicht schon beim ersten Mal die Methode
Java:
setContentPane(...)
aufrufen muss. Das funktioniert soweit auch ganz gut.

Nun habe ich zwei weitere Klassen mit der Bezeichnung MyMenu und MyGameController. Beide erweiteren die Klasse JPanel. Im Gegensatz zu der Klasse MyMenu implementiert die Klasse MyGameController noch einen KeyListener und ruft im Konstruktor folgende Zeile auf damit der KeyListener überhaupt reagiert:

Java:
this.setFocusable(true);

In der Main-Methode des Projekts wird nun eine neue Window-Klasse instanziert und die Klasse MyMenu übergeben, welche ein eigenes Event besitzt. Wird dieses Event ausgelöst wird das aktuelle Panel in der Window-Klasse über die Zeile
Java:
setContentPane(new MyGameController());
geändert.

Der Wechsel des Panels funktioniert wie bereits erwähnt ganz gut, nur dass nach einem Wechsel die KeyListener-Funktion der Klasse MyGameController nicht mehr funktioniert.
Übergebe ich die Klass MyGameController der Window-Klasse aber direkt bei der Instanzierung, so funktioniert der KeyListener.

Für mich ist das an dieser Stelle unlogisch, da ich beim Konstruktor der Window-Klasse ja auch nichts anderes mache als lediglich den ContentPane zu setzen:

Java:
public Window(String title, Container panel){
        super(title);
        getContentPane().add(panel);
        ...        
        setVisible(true);

Ich hoffe Ihr könnt mir mit dieser Beschreibung weiterhelfen, ansonsten einfach nachfragen :).

LG Samuel
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
versuche noch nach der Änderung zur Laufzeit

panel.requestFocus()
panel.requestFocusInWindow()
 

André Uhres

Top Contributor
Hallo Samuel,

herzlich willkommen in unserem Java Forum.

Erstmal ist deine Methode "public void setContentPane(Container panel)" schlecht benannt, denn damit überschreibst du eine Methode gleichen Namens der Superklasse. Ich würde sie umbenennen in "setContent(..)".

Auch müssen wir sicherstellen, wie gesagt, dass das neue Panel den Focus bekommt, am besten in dieser Art:
Java:
jPanel1.requestFocusInWindow();

Gruß,
André
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
D Problem mit KeyListener AWT, Swing, JavaFX & SWT 2
L Snake in Java KeyListener Problem AWT, Swing, JavaFX & SWT 30
V Problem mit KeyListener im Fullscreen-Modus AWT, Swing, JavaFX & SWT 2
F Swing Problem mit KeyListener||paintComponent() in JFrame AWT, Swing, JavaFX & SWT 12
Screen Focus Problem , KeyListener, TextField , Key AWT, Swing, JavaFX & SWT 4
L Problem mit KeyListener AWT, Swing, JavaFX & SWT 3
D KeyListener-Problem nach dem "Gedrückthalten" einer Taste AWT, Swing, JavaFX & SWT 10
M problem mit keylistener/textarea AWT, Swing, JavaFX & SWT 6
M KeyListener Problem unter Firefox AWT, Swing, JavaFX & SWT 2
capgeti SWT KeyListener 2 Tasten Problem AWT, Swing, JavaFX & SWT 3
G KeyListener Problem AWT, Swing, JavaFX & SWT 4
J Problem mit KeyListener - Programm stürtzt ab AWT, Swing, JavaFX & SWT 2
G KeyListener Problem in GUI (macht einfach nichts) AWT, Swing, JavaFX & SWT 2
G Keylistener/Fokus Problem AWT, Swing, JavaFX & SWT 3
R KeyListener Problem AWT, Swing, JavaFX & SWT 7
J Problem mit KeyListener AWT, Swing, JavaFX & SWT 8
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
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
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
7 KeyListener tastatur temporär blockieren AWT, Swing, JavaFX & SWT 7
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
J KeyListener um auf CTRL-Enter zu reagieren AWT, Swing, JavaFX & SWT 2
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
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
S Swing JTree mit KeyListener AWT, Swing, JavaFX & SWT 2
L AWT KeyListener, requestFocus und KeyBindings AWT, Swing, JavaFX & SWT 8
E JFrame akzeptiert den KeyListener nicht AWT, Swing, JavaFX & SWT 3
P Swing KeyListener hört nur manchmal zu AWT, Swing, JavaFX & SWT 2
earlgrey_tea AWT KeyListener bekommt keine Signale AWT, Swing, JavaFX & SWT 3
A KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 4
B Swing Keylistener fuer Dialog-Buttons AWT, Swing, JavaFX & SWT 2
B KeyListener Strg+s AWT, Swing, JavaFX & SWT 5
D Globaler Keylistener AWT, Swing, JavaFX & SWT 4
L AWT KeyListener, Taste gedrückt halten AWT, Swing, JavaFX & SWT 12
M Komisches Verhalten: JCombobox mit KeyListener AWT, Swing, JavaFX & SWT 13
R KeyListener - welcher Komponente hinzufügen AWT, Swing, JavaFX & SWT 5
Developer_X AWT KeyListener wird nicht ausgeführt! AWT, Swing, JavaFX & SWT 3
N JFrame und KeyListener AWT, Swing, JavaFX & SWT 6
M KeyListener reagiert nach Buttondruck nicht mehr AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben