Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: rub'n en 27 Septiembre 2015, 16:35 PM

Título: Boton como switch en java. actionPerformed no FUNKA
Publicado por: rub'n en 27 Septiembre 2015, 16:35 PM
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"));
        }
       


(http://i61.tinypic.com/2pyrzw5.png)

(http://i61.tinypic.com/161ibu9.png)
Título: Re: Boton como switch en java. actionPerformed no FUNKA
Publicado por: 0roch1 en 27 Septiembre 2015, 17:18 PM
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)) {
Título: Re: Boton como switch en java. actionPerformed no FUNKA
Publicado por: rub'n en 27 Septiembre 2015, 17:55 PM
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"));
     }
}