Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168

    JButton con più listeners?

    Ciao a tutti!

    Sto cercando di capire una cosa: un jbutton può avere più di un listeners?
    Come si potrebbe eventualmente stabilire quale azione (quindi quale listener) far partire?

    Io ho un pannello con un jbutton in una classe; a questo jbutton ho registrato l'ascoltatore che quindi stabilisce l'azione da fare quando il jbutton viene premuto.

    Da un'altra classe richiamo il pannello (quindi con il jbutton compreso), ma vorrei definire un'azione diversa quando viene premuto il jbutton da questa seconda classe.

    Si può fare? Eventualmente come??

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Un JButton può avere più listener. Se vi sono più listener registrati, allora TUTTI i listener verranno notificati dell'evento. Stai guardando la cosa dal lato sbagliato: la programmazione basata su eventi dice che quando viene generato un evento, allora TUTTI gli ascoltatori interessati a quell'evento vengono notificati.

    Quindi, no... quello che vuoi fare non ha molto senso, né si risolve in questo modo. Se l'azione che il pulsante deve fare cambia in base ad un "contesto", allora è il singolo Listener che deve essere istruito in questo modo, cioè è il singolo (solitamente UNICO) listener che deve sapere COSA fare in base al contesto.

    Il fatto che un pulsante possa avere più di un listener è perchè in un'applicazione potrei avere diversi componenti interessati al clic sul pulsante, ciascuno indipendente da tutti gli altri e TUTTI devono essere notificati dell'evento.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168
    Ottima spiegazione, grazie

    Quindi per quello che voglio fare io la cosa più semplice è quella più banale?
    Ovvero creare nella seconda classe un altro pannello con un altro jbutton e un suo listener?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Direi di sì.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168
    Grazie, gentilissimo/a
    Buona serata!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.