Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    7

    Chiarimenti metodo getSource()

    Salve a tutti,
    mi servirebbe un aiuto riguardo il metodo getSource() che restituisce l'oggetto che ha generato l'evento.
    In un ascoltatore mi servirebbe risalire a quale oggetto ha generato l'evento click del mouse, il frame o un'etichetta. Non esiste un sistema più elegante che mi restituisce una stringa senza informazioni aggiuntive dell'oggetto? e magari senza inserire nella classe ascoltatore che implmenta MouseListener per 5 volte (in ogni metodo) tutta una serie di if... al fine di individuare l'oggetto?

    graziee

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da alpha76 Visualizza il messaggio
    In un ascoltatore mi servirebbe risalire a quale oggetto ha generato l'evento click del mouse, il frame o un'etichetta.
    getSource() fornisce la sorgente dell'evento. Se hai un JButton X e lo clicchi, la sorgente dell'evento è esattamente il reference a quel JButton X. Né più né meno.

    Quote Originariamente inviata da alpha76 Visualizza il messaggio
    Non esiste un sistema più elegante che mi restituisce una stringa senza informazioni aggiuntive dell'oggetto?
    In generale (per qualunque evento e componente) no. Molti componenti come i pulsanti, menù, combobox ... hanno un "action command" che è una proprietà String. Questa talvolta può essere utile come differenziatore (es. pensa ad una calcolatrice o ad una tastiera "virtuale" fatta di pulsanti).

    Quote Originariamente inviata da alpha76 Visualizza il messaggio
    e magari senza inserire nella classe ascoltatore che implmenta MouseListener per 5 volte (in ogni metodo) tutta una serie di if... al fine di individuare l'oggetto?
    Il modo più tipico e semplice è differenziare sul source, ovvero usare == per confrontare il source con i reference dei componenti che sai che sono coinvolti. Certo che se hai decine di if del genere, non è una bella cosa (comunque in generale) .... ed è probabile che sia il tuo design/approccio a fare "acqua" piuttosto che il concetto in sé di confrontare il source.
    Ultima modifica di andbin; 01-05-2014 a 21:15
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    7
    Ok, grazie della risposta!

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.