Java - Un listener varios componentes

 
Vista:

Un listener varios componentes

Publicado por Himura (184 intervenciones) el 27/04/2007 18:18:27
Hola,

Alguien sabe como agregar un listener a varios componentes, sin tener que escribir el mismo listener para todos???

Si por ejemplo tengo un menu con la opcion "salir" y tengo un boton de salir en el frame, entonces las tareas serían las mismas y cada uno tendría su listener, pero quiero tener un solo listener para los dos.

Gracias
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Un listener varios componentes

Publicado por Pablo (39 intervenciones) el 28/04/2007 00:23:31
Hola,

Posiblemente estás trabajando con un IDE que te genera algo parecido:

boton.setActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//todo el código
}
});

entonces deberías hacer lo siguiente:

Crear una nueva clase que implemente ActionListener y directamente a todos los componentes que desees que tengan la misma funcionalidad, asignarles un nuevo objeto (o el mismo) de la clase que acabas de crear.

Ejemplo

public class Ventana extends JFrame{
//todo lo de la ventana

public Ventana(){
//codigo de inicio de componentes
boton.setActionListener(new ActionSalir());
menu.setActionListener(new ActionSalir());
}

//Esta es una inner class
class ActionSalir implements ActionListener{
public void actionPerformed(ActionEvent e){
//todo el código
}
}
}//cierra la clase Ventana

Espero que te sirva
Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar