Salve a tutti.
Come da titolo del topic, il GregorianCalendar non mi restituisce la data e l'ora di sistema aggiornati.
Forse capirete meglio il mio problema postandovi del codice:
codice:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.GregorianCalendar;
import javax.swing.JLabel;
import javax.swing.Timer;

/**
 *
 * @author Naruto 92
 */
public class DataOra{

    private JLabel d, o;
    private GregorianCalendar gc;

    public DataOra(JLabel data, JLabel ora){
        d=data;
        o=ora;
        gc=new GregorianCalendar();
        setDataOra();
        new Timer(1000, new ActionListener(){
            public void actionPerformed(ActionEvent evt){
                setDataOra();
            }
        }).start();
    }
    private void setDataOra(){
        System.out.println("Ora: " + gc.get(GregorianCalendar.HOUR_OF_DAY) + ":" + gc.get(GregorianCalendar.MINUTE) + ":" + gc.get(GregorianCalendar.SECOND));
        d.setText("Data: " + gc.get(GregorianCalendar.DAY_OF_MONTH) + "/" + gc.get(GregorianCalendar.MONTH) + "/" + gc.get(GregorianCalendar.YEAR));
        o.setText("Ora: " + gc.get(GregorianCalendar.HOUR_OF_DAY) + ":" + gc.get(GregorianCalendar.MINUTE) + ":" + gc.get(GregorianCalendar.SECOND));
    }
    
}
il codice non è ottimale per via della duplicazione della riga
codice:
"Ora: " + gc.get(GregorianCalendar.HOUR_OF_DAY) + ":" + gc.get(GregorianCalendar.MINUTE) + ":" + gc.get(GregorianCalendar.SECOND)
,ma verrà eliminata una volta risolto il problema (la uso a scopo di debug).
lanciando in esecuzione il programma ottengo dalla S.o.p. la seguente visualizzazione:

Ora: 14:25:39
Ora: 14:25:39
Ora: 14:25:39
Ora: 14:25:39
Ora: 14:25:39
Ora: 14:25:39
Ora: 14:25:39
.............................

quando dovrei ottenere:

Ora: 14:25:39
Ora: 14:25:40
Ora: 14:25:41
Ora: 14:25:42
Ora: 14:25:43
Ora: 14:25:44
Ora: 14:25:45
....................................

oramai le ho provate tutte, ma senza risultato...
vi ringrazio per l'aiuto che saprete darmi.

Naruto 92