Buenas,
No se si esta relacionado con tu problema particular, pero no estas inicializando correctamente el programa en Swing.
En Swing todos los componentes graficos deben correr en un hilo especial llamado Event Distpatcher Thread (EDT) para evitar bloqueos en la gestions de los eventos. Por lo tanto deberias inicializar asi:
Código Java:
Ver originalpublic static void main
(String[] args
) { public void run() {
InicializarJuego();
//etc
}
});
}
https://docs.oracle.com/javase/tutor.../dispatch.html
Por otro lado el ejemplo que pones ni siquiera compila (de donde sale la variable p?) y InicializarJuego deberia ser un JPanel (no tiene sentido aniadir un JFrame a un JFrame).
Un saludo