Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

Chi invoca il metodo actionPerformed(ActionEvent e)?


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 7 risposta/e

#1
pietrorenzulli

pietrorenzulli

    Advanced Member

  • Utente
  • StellaStellaStella
  • 83 Messaggi:
Quando noi progettiamo il listener del click di un bottone dobbiamo implementare l'unico metodo dell'interfaccia ActionListener, ovvero actionPerformed(ActionEvent e). Una volta fatto questo e registrato il listener al bottone tutto funziona a meraviglia! Ma quale metodo che noi usiamo ha al suo interno l'invocazione di actionPerformed() dato che esplicitamente noi non lo scriviamo mai? Mi ricordo che Tufano lo spiegò ma non riesco a trovare gli appunti su quella lezione :S Help!



#2
IbraAleKadabra

IbraAleKadabra

    Newbie

  • Utente
  • StellaStellaStella
  • 1194 Messaggi:

Quando noi progettiamo il listener del click di un bottone dobbiamo implementare l'unico metodo dell'interfaccia ActionListener, ovvero actionPerformed(ActionEvent e). Una volta fatto questo e registrato il listener al bottone tutto funziona a meraviglia! Ma quale metodo che noi usiamo ha al suo interno l'invocazione di actionPerformed() dato che esplicitamente noi non lo scriviamo mai? Mi ricordo che Tufano lo spiegò ma non riesco a trovare gli appunti su quella lezione :S Help!

E' la JVM (Java Virtual Machine) che invoca tale metodo..
Nel momento in cui si clicca un bottone e quindi si "scatena l'evento", si genera un'interruzione di cui ora mi sfugge il nome ed è poi la stessa JVM che invoca il metodo actionPerformed() associata a qll interruzione avutasi con il premere un determinato bottone..
:ciao: e se hai altri problemi, posta pure.. ;)
"Puntalo ke te lo salti e se sbaglii fa niente, riprenditi il pallone e ripuntalo.. Se qualcuno ti dice qualkosa, dimmelo ke me la vedo io!!!"
Grazie di tutto Mister..

Immagine inviata

#3
pietrorenzulli

pietrorenzulli

    Advanced Member

  • Utente
  • StellaStellaStella
  • 83 Messaggi:
Grazie mille IBRA :)...si in effetti deve essere per forza la JVM!

#4
Ila91

Ila91

    Member

  • Utente
  • StellaStella
  • 18 Messaggi:
Ciao Pietro, io credo che a questa domanda dovresti far capire al prof. come è costruito il metodo addActionListener, perché credo (dagli appunti che ho) che sia proprio quest'ultimo che invochi actionPerformed().
Ti ho allegato un file che spiega come il prof. Tufano piu o meno disse fosse costituito addActionListener().
Cmq anche la JVM è una risposta giusta dato che tutto in java piu o meno viene fatto dalla JVM, anche se molto astratta... :rofl:
Come il sistema operativo in calcolatori anche la JVM in programmazione a oggetti è un pò un santo.

File allegato



#5
ildiabolico

ildiabolico

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
Semplice quando tu registri un listener di qualunque tipo su una sorgente di eventi(bottone o altro componente grafico su cui è possibile registrare un listener) accade che :

fai partire l'applicazione;
sposti il mouse sul bottone;
CLICK sul bottone;
il bottone su cui hai cliccato il mouse viene "risvegliato" perchè è avvenuto un Evento (di tipo Action nel tuo caso) e dunque Istanzia un oggetto di tipo ActionEvent e ci ficca dentro tanta roba tipo le coordinate xy dello schermo su cui s'è generato l'evento e successivamente dopo aver creato il nostro bello oggento ActionEvent fa una semplice chiamata a metodo ossia il bottone fa na cosa del tipo "listener.ActionPerformed(ActionEvent e); e viene semplicemente eseguito il codice action event.
e po si gestisce tutto la JVM come diceva Ibra sopra

Spero di essere stato chiaro se hai altre perplessità o se vuoi sapere pure come può essere implementato il metodo(cosa che resterà sempre un ipotesi seppur valida di una coppia di "prodi-studenti-del-forum") posta pure ^^ :ciao:
Rappresentante degli studenti al Consiglio Didattico di Ing. Informatica
Rappresentante degli studenti in Commissione Didattica di Ing. Informatica
Mail >> darioderosa89@gmail.com

#6
danilo_sica

danilo_sica

    Advanced Member

  • Utente
  • StellaStellaStella
  • 55 Messaggi:
Premetto che non è che non conosco le risposte ma che quest'ultime sono molto vaghe e quindi chiedo a voi(evito di aprire un altro topic perchè ho visto che ibra ha detto : se hai problemi posta pure :D :D :D )
Vorrei sapere:
1) Differenza tra extends Thread e l'interfaccia Runnable e il perchè si preferisce quest'ultima(Spero sia solo per il fatto che con Runnable posso cmq estendere un'altra classe,o c'entrano qualcosa anche i metodi wait(),notify(),ecc..ec..)
2) Definizione di Attesa Attiva.....(Penso di averlo capito a grandi linee )
3) Perche le Collection sono Interfacce e non classi concrete???
4) E infine un esempio di polimorfismo con le Collection(lo so che la domanda è banale ma prima di ogni esame non sono sicuro nemmeno di come mi chiamo :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: )
Ringrazio a priori..... :asd: :asd: :asd:

#7
IbraAleKadabra

IbraAleKadabra

    Newbie

  • Utente
  • StellaStellaStella
  • 1194 Messaggi:

Premetto che non è che non conosco le risposte ma che quest'ultime sono molto vaghe e quindi chiedo a voi(evito di aprire un altro topic perchè ho visto che ibra ha detto : se hai problemi posta pure :D :D :D )
Vorrei sapere:
1) Differenza tra extends Thread e l'interfaccia Runnable e il perchè si preferisce quest'ultima(Spero sia solo per il fatto che con Runnable posso cmq estendere un'altra classe,o c'entrano qualcosa anche i metodi wait(),notify(),ecc..ec..)
2) Definizione di Attesa Attiva.....(Penso di averlo capito a grandi linee )
3) Perche le Collection sono Interfacce e non classi concrete???
4) E infine un esempio di polimorfismo con le Collection(lo so che la domanda è banale ma prima di ogni esame non sono sicuro nemmeno di come mi chiamo :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: )
Ringrazio a priori..... :asd: :asd: :asd:


Non ti preoccupare.. Hai fatto bene xk le risposte possono servire anke ad altri ragazzi che cm te stanno preparando l'esame..
cmq, passiamo a noi:

1) Thread è una classe mentre Runnable è un'interfaccia (e fino a qui ci stavamo tutti qnt :D).. Siccome Java non supporta l'ereditarietà multipla, come altri linguaggi di programmazione, allora utilizza una specie di "scappatoia".. Infatti ci possono essere classi che devono necessariamente estendere una classe padre ma contemporaneam devono utilizzare anke i thread.. E come si fa visto ke Java non supporta l'ereditarietà multipla (in poche parole non si possono usare due parole chiave extends vicino a una classe)??? Ed ecco qui ke entra in gioco l'utilizzo dell'interfaccia Runnable, in quanto noi di interfacce ne possiamo "ereditare" a quantità industriali in modo tale ke la nostra classe possa sia estendere una classe padre ma nel frattempo, tramite qst scappatoia, implementare anke i thread tramite l'interfaccia Runnable che contiene solo il metodo run() da implementare..

2) viewtopic.php?f=15&t=8667 ;)

3) Esse sono delle interfacce proprio x far si che si possa sfruttare il Polimorfismo..

4).a viewtopic.php?f=15&t=8637
4).b viewtopic.php?f=15&t=7968&p=59540&hilit=collezioni#p59540 ;)

:ciao:

P.s.: Se non ti dovesse essere chiaro qualkosa dillo senza problemi e provvederemo ad aiutarti ;)
"Puntalo ke te lo salti e se sbaglii fa niente, riprenditi il pallone e ripuntalo.. Se qualcuno ti dice qualkosa, dimmelo ke me la vedo io!!!"
Grazie di tutto Mister..

Immagine inviata

#8
DeAndreon

DeAndreon

    Advanced Member

  • Utente
  • StellaStellaStella
  • 562 Messaggi:
Ragazzi, mi potreste dare un elenco di passi preciso e definitivo(cioè da dire all'esame in caso di domanda da parte del prof) di ciò che succede quando clicco col mouse su un bottone dell'interfaccia?

Ne ho sentite un sacco di varie cose che succedono ma che hanno poco in comune...

Grazie !
"Sir Daniel Fortesque! In ritorno dalla terra dei morti!"(Winston, l'Assistente Fantasma, al risveglio di Sir Daniel Fortesque).




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi