Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2013, 19:40
Mechabits
 
Fecha de Ingreso: agosto-2013
Mensajes: 103
Antigüedad: 10 años, 9 meses
Puntos: 1
Cambiar el fondo de un boton

Buenas! Estoy haciendo un hundir la flota, y ahora mismo estoy liado con los clicks de los botones. La idea esta en que cuando haga click a un boton, este cambie de color y en el caso de no estar ocupada la posicion por un barco cambie a azul y en el caso de estar ocupada la posicion por un barco cambie a roja.
Las posiciones ya las tengo hechas, pero los clicks se me estan atravesando y sinceramente, tengo que entregarlo mañana. Sería de agradecer que alguien me echara un cable, que sé que no es nada complicado pero entre el cansancio (voy a dos proyectos por semana) y la falta de tiempo, me veo obligado a buscar un poco de ayuda :S
Muchisimas gracias a aquel que pueda echarme un cable. Un saludo
PD: Solo dejo el action event, las variables ya definidas no las dejo, pero las posiciones son todas de tipo string incluido la variable botones, ya que lo que hago es recoger el nombre de cada posicion de cada boton en mi matriz. Y tambien tengo la variable tocado que es un booleano inicializado como false.

Código Java:
Ver original
  1. public void actionPerformed(ActionEvent e) {
  2.  
  3.         final JButton source = (JButton) e.getSource();
  4.        
  5.         for (int i = 1; i < buttons.length; i++) {
  6.             for (int j = 1; j < buttons[i].length; j++) {
  7.                 botones = buttons[i][j].getName();              
  8.                 if ((posic1B5!=null | posic2B5!=null | posic3B5!=null | posic4B5!=null | posic5B5!=null )&tocado==false) {
  9.                     //
  10.                     tocado=true;
  11.                      source.setBackground(Color.red);
  12.                    
  13.                     //buttons[i][j].removeActionListener(this);
  14.                 }
  15.                 if (botones!=posic1B5 & botones!=posic2B5 & botones!=posic3B5 & botones!=posic4B5 & botones!=posic5B5){
  16.                  
  17.          source.setBackground(Color.blue);
  18.          System.out.println("Has dado al mar");
  19.                    
  20.          }
  21.             }
  22.         }
  23.     }