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..