Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    6

    Cambio testo JLabel al cambio di una variabile

    ciao a tutti, è la prima volta che scrivo anche se è da una vita che seguo le guide su html.it e risolvo molti problemi leggendo questo forum!!

    Ho un problema e non riesco a trovare un modo di risolverlo..vediamo se riuscite a darmi una mano:

    - ho una classe A con un campo dati privato di tipo enum.
    - questo campo dati assume valori diversi all'interno di un metodo pubblico (meth) della classe A
    - ho la classe B che eredita da A e che mi fa da GUI
    - nella classe B viene richiamato il metodo meth e vorrei che la JLabel all'interno dell'interfaccia grafica assumesse valori diversi al modificarsi del valore del campo enum

    non riesco a trovare un modo per risolvere questo problema

    Qualcuno riesce a darmi una dritta per caso?

    Grazie in anticipo a tutti quelli che risponderanno

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ti sei salvato il riferimento alla JLabel? In questo caso ti basta chiamare setText() passando il nuovo testo.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    6
    si si ma il problema è che nella classe B(quella grafica) non vado a toccare la variabile di tipo enum, richiamo solo il metodo che al suo interno la modifica (oltre a fare altre cose) e quindi non posso fare esplicitamente un setText

    Mi servirebbe un evento tipo ChangeListener applicato alla variabile enum ma non mi pare si possa fare

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Cambio testo JLabel al cambio di una variabile

    Originariamente inviato da wool
    - ho una classe A con un campo dati privato di tipo enum.
    - questo campo dati assume valori diversi all'interno di un metodo pubblico (meth) della classe A
    - ho la classe B che eredita da A e che mi fa da GUI
    - nella classe B viene richiamato il metodo meth e vorrei che la JLabel all'interno dell'interfaccia grafica assumesse valori diversi al modificarsi del valore del campo enum

    non riesco a trovare un modo per risolvere questo problema
    Visto che le classi A e B sono in relazione di "ereditarietà", ti va bene!

    Perché ti basta fare così: nella classe A definisci un metodo (nota: meglio protected non public!) es. nomeCampoChanged() che non fa nulla (vuoto { } )
    Dentro meth() semplicemente lo invochi.

    La classe B eredita da A e può quindi fare un "override" di nomeCampoChanged() (nota: sempre come protected, non "aprire" il livello!) e dal momento che qui hai la "conoscenza" della interfaccia grafica puoi settare la label. Nota che al metodo si potrebbe passare il valore del campo.

    Questo funzionerebbe, anche se ovviamente non so e non posso sapere il perché di questa tua gerarchia (che potrebbe essere sensata o no ... non lo so).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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.