evento click en botones
Publicado por tito (2 intervenciones) el 13/12/2006 08:58:44
Hola a todos, quisiera plantearos una question que seguramente es facil de responder pero que no encuentro la forma de hacerla. El tema esque tengo 5 botones (jButton1 .. jButton5) y estan inicializados con un color de fondo predeterminador (creo que es el color de los controles que es en RGB (236,233,216) o algo asi. Quiero que al presionar cada uno de ellos su color de fondo sea el rojo y cuando se vuelva a presionar que el color de fondo vuelva a ser el RGB que he puesto antes. Mas o menos el metodo y la sentencia if la tengo clara, he pensado algo asi:
public void cambiarColorFondo(jButton miboton) {
if (miboton.getbackground()==Color.RGB(236,233,216)) {
miboton.setBackGround(Color.Red);
} else {
miboton.setBackGround(Color.RGB(236,233,216));
}
}
Pero lo que me cuesta hacer es pasarle el boton al metodo cuando se ejecuta el evento.
He pensado añadir al evento mouseClicked (no se si es asi exactamente) de cada boton el metodo cambiarColorFondo pero no se como pasarle cual es el boton que se presiona.
El evento que se me crea tiene la siguiente cabecera:
public void mouseClicked (MouseEvent e) {} pero no se como hacer que ese evento recoja cual es el boton presionado y se le pase dicho boton al metodo cambiarColorFondo.
seria una cosa asi:
public void mouseClicked(MouseEvent e) {
Jbutton botonprueba=(boton que he presionado);
cambiarColorFondo(botonprueba);
}
Creo que tal vez con e.algo podria sacarlo pero exactamente no se como, a ver si alguien puede ayudarme.
Muchas gracias de antemano.
PD: En la definicion de la clase tengo puesto el implements MouseListener y he imporatado java.awt.event.*
public void cambiarColorFondo(jButton miboton) {
if (miboton.getbackground()==Color.RGB(236,233,216)) {
miboton.setBackGround(Color.Red);
} else {
miboton.setBackGround(Color.RGB(236,233,216));
}
}
Pero lo que me cuesta hacer es pasarle el boton al metodo cuando se ejecuta el evento.
He pensado añadir al evento mouseClicked (no se si es asi exactamente) de cada boton el metodo cambiarColorFondo pero no se como pasarle cual es el boton que se presiona.
El evento que se me crea tiene la siguiente cabecera:
public void mouseClicked (MouseEvent e) {} pero no se como hacer que ese evento recoja cual es el boton presionado y se le pase dicho boton al metodo cambiarColorFondo.
seria una cosa asi:
public void mouseClicked(MouseEvent e) {
Jbutton botonprueba=(boton que he presionado);
cambiarColorFondo(botonprueba);
}
Creo que tal vez con e.algo podria sacarlo pero exactamente no se como, a ver si alguien puede ayudarme.
Muchas gracias de antemano.
PD: En la definicion de la clase tengo puesto el implements MouseListener y he imporatado java.awt.event.*
Valora esta pregunta


0