Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/10/2014, 03:55
Kritik
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 9 meses
Puntos: 31
Problema con JMenu

Bueno, por fin he terminado mi juego de tetris.

En la versión que tengo actualmente nada más abrir el programa se pone a jugar, con las fichas ya bajando... y eso es porque este es mi void main:

Código:
public static void main(String[] args){
	new base();
	juego juego1=new juego();
	juego1.yajuego();
}
en mi clase base tengo todos los elementos del tetris, paneles, marcadores, etc.
Y la clase juego es la clase que tiene toda la logística y los métodos que hacen funcionar el tetris.

Ahora he añadido en la clase base un menú, y le he añadido el actionlistener a dicho menú.

Y este es mi action Listener:

Código:
public void actionPerformed(ActionEvent arg0) {
	System.out.println("Menú seleccionado: \""+arg0.getActionCommand()+"\"");
}
Así pues, el menú lo único que hace cuando le doy al menú "Jugar" es decirme en la consola: Menú seleccionado: "Jugar"

Ahora bien, y he aquí el problema que estoy teniendo.

Si muevo las líneas:

Código:
juego juego1=new juego();
juego1.yajuego();
desde el void main a dentro del ActionListener de la siguiente manera:
Código:
public void actionPerformed(ActionEvent arg0) {
	if (arg0.getActionCommand()=="Salir")System.out.println("Saliendo");System.exit(0);
	if (arg0.getActionCommand()=="Jugar"){
		juego juego1=new juego();
		juego1.yajuego();
	}
}
Entonces al iniciar el juego no hace nada, y al ir al menú y seleccionar el menú jugar se me queda colgado.

Sin embargo, el otro menú "Salir" si me lo hace bien. Me escribe en la consola "Saliendo" y luego sale del programa. Por esto último creo que no es un problema del actionListener y no se me ocurre donde pueda estar el problema.

Última edición por Kritik; 26/10/2014 a las 04:08