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
ledRojoprivate 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"));
}
}
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)
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.
String comando = evt.getActionCommand();
boolean pasar = false;
if ( !comando.equals(pasar)) {
otra cosa es que el boton no tiene titulo xq cuando tiene titulo si funciona bien y hago el tipico
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"));
}
}