Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    JAVA - Intercettare evento creazione oggetto.

    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


  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    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
    Codice PHP:
    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).


  3. #3
    bella roba...
    grazie 1000!!!!!


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.