PDA

Visualizza la versione completa : JAVA - Intercettare evento creazione oggetto.


mnkt
08-04-2004, 15:30
ciao,
avrei bisogno di sapere cosa devo utilizzare per capire quando un oggetto viene creato....

Devo creare un evento che intercetti l'avvenuta creazione di un oggetto.
Grazie

:ciauz:

anx721
08-04-2004, 18:32
Se vuoi seguire il funzionamento degli eventi in java devi definire un evento personalizzato, estendendo la classe EventObject. Quindi definisci un'interfaccia che estende EventListener che definisce quali metodi devono essere implementati da un ascoltatore di tale evento. Supponiamo che vuoi avere l'evento quando è creato un oggetto della classe MyClass


class MyClassEvent extends EventObject{

public MyClassEvent(Object source){
super(source);
}
}


interface MyClassListener extends EventListener{

//Metodo da implementare per essere un ascoltatore di MyEvent
public void myClassCreated(MyClassEvent e);

}


Ora, quando vuoi metterti in ascolto di un evento ti devi registrare come un ascoltatore sull'oggetto che solleva l'evento. In questo, visto che l'evento è la creazione di un oggetto, non puoi registrarti sull'oggetto stesso, visto che non è stato ancora creato. Le possibilità sono 2:

1 - ti registri sull'oggetto che che creerà gli oggetti MyClass;
2 - ti registri sulla classe MyClass con un metodo statico.

Ad ogni modo la classe su cui ti registri deve avere il metodo:

public void addMyClassListener(MyClassListener l);

e

public void removeMyClassListener(MyClassListener l);

I listener li puoi raccogliere ad esempio in un Vector; ogni volta che devi generare l'evento, crei un MyClassEvent evt, passandogli come argomento l'oggetto appena creato, e per ogni listener registrato, invochi il metodo myClassCreated(evt).

:ciauz:

mnkt
08-04-2004, 19:28
bella roba...
grazie 1000!!!!!

:ciauz:

Loading