Sto creando una piccola applicazione che scrive per 5 volte l'ora corrente, composta da tre classi:
AppletClock
codice:
import java.awt.*;
import javax.swing.*;
public class AppletClock {
public static void main(String arg[]) {
Clock calendarioEOrologio;
calendarioEOrologio = new Clock();
calendarioEOrologio.start();
for(int i=0; i<5; i++) {
System.out.println(calendarioEOrologio.oraEDataCorrente());
}
}
}
Clock
codice:
import java.util.*;
public class Clock extends Thread {
private static Calendar dataOdierna;
private Calendar orario;
private static String data;
public Clock() {
data = "NULL";
}
public void run() {
data = "Oggi è " + OraEData.ritornaNomeGiorno();
data = data + ", " + OraEData.ritornaNomeMese() + " " + OraEData.ritornaNumeroAnno();
data = data + "\n" + "Ora corrente: " + OraEData.oraH24();
try {
Thread.sleep(1000);
} catch(Throwable e) {}
}
protected String oraEDataCorrente() {
String oraEData;
oraEData = data;
return data;
}
}
c'è anche una terza classe chiamata "OraEData" che funziona perfettamente (per semplificare il post l'ho omessa)
Solo che se faccio partire il programma, il thread non viene iniziato, tanto è vero che per 5 volte mi scrive "NULL".
In cosa ho sbagliato?