Foros del Web » Programación para mayores de 30 ;) » Java »

Generar objetos dinámicamente

Estas en el tema de Generar objetos dinámicamente en el foro de Java en Foros del Web. Hola gente!! Una preguntilla (la última ya, en serio!) Cómo puedo crear objetos dinámicamente (por ejemplo dentro de un for) sin que sean "anonimos", es ...
  #1 (permalink)  
Antiguo 16/11/2004, 05:02
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 3 meses
Puntos: 1
Generar objetos dinámicamente

Hola gente!!
Una preguntilla (la última ya, en serio!)

Cómo puedo crear objetos dinámicamente (por ejemplo dentro de un for) sin que sean "anonimos", es decir, que les pueda dar un nombre "dinamico".
Ejemplo:

Tengo un array:
fonts[]= {"courier","sansSerif","Helvetica","ComicSans"} ;

(en principio el contenido del array varía, no es siempre el mismo)

y quiero crear un objeto MenuItem por cada uno de ellos:

[I]for (int i=0; i<fonts.length;i++)
{
menuFuentes.add(new MenuItem(fonts)).addActionListener(this);
}


Haciendo esto de arriba estoy creando los objetos "Anonimos", es decir: no tienen nombre y por tanto luego no los puedo controlar en el ActionListener!

¿Se podria hacer dentro del FOR algo parecidoa esto?

[I]font.add(MenuItem objeto+i= new MenuItem(fonts);
objeto+i.addActionListener(this):


Si no, ¿cómo los controlo desde el ActionListener?
Muchiiiisimas gracias!!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"

Última edición por renton; 16/11/2004 a las 05:04
  #2 (permalink)  
Antiguo 16/11/2004, 08:17
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Me parece que tu primera opcion es la adecuada, solo que deberas hacer una clase escuchadora de Action para cadas uno de los menu, sino se te confundira y no sabra de cual fue llamada.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 16/11/2004, 15:20
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 3 meses
Puntos: 1
Ok! Pero, de todas formas, ¿cómo sabe la clase ActionListener qué menuItem ha sido llamado si no tiene nombre?
¿Podrías ponerme un ejemplillo? (lo último que te pido ya, en serio!!)

Goncafa, lo siento por rallarte tantoOoO!!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"

Última edición por renton; 16/11/2004 a las 15:47
  #4 (permalink)  
Antiguo 16/11/2004, 16:20
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
En realidad al escuchador de la mismo quien fue quien lo llamo, al momento de que un componente es agregado a un escuchador, cada vez que pasa dicha accion que ese componente escucha, le envia el reporte de que la accion ocurrio a la clase que esta escuchando. estan tan simple como que en ves de poner

addActionListener(this);

pongas

addActionListener(new EscuchadorArial());

por ejemplo, entonces solo tendrias que tener una clase que se llame EscuchadorArial que implemente la interfaz ActionListener de esta forma

Código PHP:
public class EscuchadorArial implements ActionListener {
    public 
void actionPerformed(ActionEvent ae) {
        
//aqui se ejecuta cuando se lanza el evento
    
}

Y para que ese codigo funcione no tiene porque el escuchador estar puesto en una clase que sea como tu dices anonima.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:04.