Boton como switch en java. actionPerformed no FUNKA

Iniciado por rub'n, 27 Septiembre 2015, 16:35 PM

0 Miembros y 1 Visitante están viendo este tema.

rub'n

Lo que quiero es que funcione como un switch que al clickear en la imagen la cambie tipo ON-OFF y a la misma vez cambie el JLabel donde esta el led rojo.

cuando le doy el primer click funciona, pero cuando le doy otro no reacciona el botón

jButton2 es el switch del ledRojo

Código (java) [Seleccionar]
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
     
       String comando = evt.getActionCommand();
       boolean pasar = false;
       if ( !comando.equals(pasar)) {
           
           jButton2.setIcon(new ImageIcon("src/swRojoON.png"));
           jLabel1.setIcon(new ImageIcon("src/ledRojoON.png"));
     
       }else if(!comando.equals(pasar)){
              jButton2.setIcon(new ImageIcon("src/swOFF.png"));
              jLabel1.setIcon(new ImageIcon("src/ledRojoOFF.png"));
                   
       }
       
       
   }              


Código (java) [Seleccionar]


private boolean pasar = true, pasar1 = true;  // variables de instancia  ;D
if(pasar == true ) {
           
           jButton2.setIcon(new ImageIcon("src/swRojoON.png"));
           jLabel1.setIcon(new ImageIcon("src/ledRojoON.png"));
                       
           pasar = false;
          }
           else {
             
              pasar = true;
               
               jButton2.setIcon(new ImageIcon("src/swOFF.png"));
               jLabel1.setIcon(new ImageIcon("src/ledRojoOFF.png"));
           }

if(pasar1 == true ) {
           
            jButton3.setIcon(new ImageIcon("src/swAmarilloON.png"));
            jLabel2.setIcon(new ImageIcon("src/ledAmarilloON.png"));
                     
            pasar1 = false;
        }
        else {
           
            pasar1 = true;
 
            jButton3.setIcon(new ImageIcon("src/swOFF.png"));
            jLabel2.setIcon(new ImageIcon("src/ledAmarilloOFF.png"));
        }
       






rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

0roch1

Aquí estás comparando un String con un boolean, en este caso estás comparando el nombre de tu título del botón con valor falso (siempre), además necesitas cambiar el valor del boolean una vez que se cumpla la condición.

Código (java) [Seleccionar]

String comando = evt.getActionCommand();
        boolean pasar = false;
        if ( !comando.equals(pasar)) {

rub'n

#2
otra cosa es que el boton no tiene titulo xq cuando tiene titulo si funciona bien y hago el tipico

Código (java) [Seleccionar]
if(evt.getSource == jButton2) {
    String btn = (jButton2.getText());
   
     if(btn.equals("nombreBOton") ) {
          jButton2.setIcon(new ImageIcon("src/swRojoON.png"));
           jLabel1.setIcon(new ImageIcon("src/ledRojoON.png"));
     } else {
          jButton2.setIcon(new ImageIcon("src/swOFF.png"));
              jLabel1.setIcon(new ImageIcon("src/ledRojoOFF.png"));
     }
}


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen