Visualizzazione dei risultati da 1 a 2 su 2

Discussione: JLabel Override

  1. #1

    JLabel Override

    Ciao a tutti, ultimamente mi sto concentrando sullo studio di Java,sono agli inizi..
    Ora sto affrontando la programmazione di GUI attraverso l'ausilio di librerie Swing e Awt..

    Per motivi 'didattici' sto cercando di creare un cronometro con interfaccia grafica, logica e tutto..
    Ho deciso di adentrarmi nelle JLabel e tentare di riscriverne alcune a doc invece di limitarmi solo a sfruttarle cosi come sono..(lo so potrebbe sembrare uno spreco di tempo in questo caso,ma il mio scopo è l'apprendimento,non la realizzazione dell app in se)

    posto il codice:
    codice:
    public class JLed1 extends JLabel { 	 	
    
    int value;		 	
    
    public JLed1(int value){	 		 		 		
    this.value=value;	
    this.setText(Integer.toString(getValue()));
    }
    
    public void setValue(int value){
     this.value=value;                                     //-------------->this.setText(Integer.toString(value));
    
    }
    
    public int getValue(){
    	return this.value;
    }
    
    }//end class
    Questo è un breve riassunto della porzione di codice che mi interessa..

    Se io vado a istanziare l'oggetto JLed passando il mio parametro al costruttore, ovviamente mi compare una JLabel con testo settato in base al parametro stesso..

    Se però subito dopo aver istanziato l'oggetto,richiamo il suo metodo setValue,attribuendo un nuovo valore, la JLabel continuerà a visualizzare solo e soltanto il primo valore con la quale è stata istanziata..anche se gli attributi interni cambiano..

    Insomma in soldoni io vorrei capire come funziona ad esempio il metodo setText di JLabel che ogni volta che viene chiamato è in grado di cambiare il testo di una JLabel precedentemente istanziata senza doverne creare un altra e istanziarla con i nuovi valori..

    Nel codice che ho postato , ho commentato il codice che mi permetterebbe di far funzionare le cose..Però trattasi di 'working around'...il mio scopo non è far funzionare le cose,ma cercar di capire come funzionano..

    Grazie a chiunque avrà la pazienza di leggere e provare a dare una risposta..

  2. #2
    Mi rispondo da solo, in parte...
    Ho fatto un po di confusione, nel senso che riguardando il codice è ovvio che funzioni cosi..
    Il costruttore viene chiamato solamente la prima volta quindi setta solamente quel parametro...

    Però la seconda parte della mia domanda rimane comunque valida..Come fa setText di JLabel ha modificare di volta in volta i parametri dell'Oggetto? Forse lo sostituisce con quello nuovo?

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.