Witam!
Pracuję nad grą 2D, w której menu główne oraz sama gra są umieszczone na oddzielnych obiektach rozszerzających klasę JPanel (do MenuPanel i GamePanel). Inicjalizacja wygląda tak:

gPanel = new gamePanel(scrDim);
add(gPanel);
gPanel.setVisible(false);
mPanel = new menuPanel(scrDim);
add(mPanel);
mPanel.setVisible(true); 

Obie "warstwy" implementują interfejs KeyListener, każda z nich posiada oddzielną obsługę klawiszy. Problem pojawia się przy przechodzeniu z warstwy MenuPanel do GamePanel. Po wybraniu jednej z opcji menu obsługa (wewnątrz klasy menuPanel) wygląda tak:


// g - obiekt klasy gamePanel
setFocusable(false);
setVisible(false);
g.setFocusable(true);
g.setVisible(true);

Po tym klawisze na warstwie GamePanel nie działają do momentu, kiedy przełączę kilka razy programy przy pomocy "ALT-TAB". Wtedy wszystko działa już prawidłowo. W czym może być problem?