CIAO A TUTTI.
Devo creare un thread che visualizzi l'ora corrente in una barra del frame del mio programma.
Qualcuno puō darmi una mano?? grazie
:sexpulp:
CIAO A TUTTI.
Devo creare un thread che visualizzi l'ora corrente in una barra del frame del mio programma.
Qualcuno puō darmi una mano?? grazie
:sexpulp:
class Ora extends Thread {
Calendar c;
public void run() {
c = Calendar.getInstance();
String s = c.get(Calendar.HOUR) + ":" + c.get(Calendar.MINUTE) + ":" + c.get(Calendar.SECOND);
// aggiorna testo
try {
this.sleep(1000);
}
catch (InterruptedException iex) {}
}
}
tanto per cominciare
vedi se ti sembra accettabile
Va benissimo!!!
Una cosa sola... Lo esegue una sola volta.
Mi spiego, dovrebbe ogni secondo visualizzare il tempo che passa.
Devo fare un loop o c'č una funzione???
Devi loopare..
Blink@go
"Non tutto quel che č oro brilla, Ne gli erranti sono perduti; Il vecchio ch'č forte non s'aggrinza, Le radici profonde non gelano.Dalle ceneri rinascerā un fuoco, L'ombra sprigionerā una scintilla, Nuova sarā la lama ormai rotta, E re quei ch'č senza corona."
------------
Lang: java 1.4.1 Eclipse
public class Ora extends Thread{
private static Principale principale = Principale.ritornoOggetto();
private static int ora;
private static int minuti;
private java.lang.String giorno;
private java.lang.String mese;
private java.lang.String anno;
private static int secondi;
public Ora() {
super();
}
public Ora(Runnable target) {
super(target);
}
public Ora(Runnable target, String name) {
super(target, name);
}
public Ora(String name) {
super(name);
}
public Ora(ThreadGroup group, Runnable target) {
super(group, target);
}
public Ora(ThreadGroup group, Runnable target, String name) {
super(group, target, name);
}
public Ora(ThreadGroup group, String name) {
super(group, name);
}
public static void main(java.lang.String[] args) {
// Inserire qui la codifica per avviare l'applicazione.
}
public void run() {
java.util.TimeZone t=java.util.TimeZone.getTimeZone("ECT");
java.util.Calendar oggi = java.util.Calendar.getInstance(t);
giorno="" + oggi.get(oggi.DAY_OF_MONTH);
mese="" +(oggi.get(oggi.MONTH)+1);
anno="" + oggi.get(oggi.YEAR);
int i = 1;
while (i==1){
java.util.Calendar c = java.util.Calendar.getInstance();
String s = c.get(java.util.Calendar.HOUR) + ":" + c.get(java.util.Calendar.MINUTE) + ":" + c.get(java.util.Calendar.SECOND);
i++;
principale.setData(giorno+"/"+mese+"/"+anno,s);
try {
this.sleep(1000);
}
catch (InterruptedException iex) {}
}
}
Ciao sono il collega di Damma&Manu...
il codice del thread č questo, ma esegue il run() una sola volta!!
io richiamo il thread nella classe Principale in questo modo:
Ora ora = new Ora();
Thread t = new Thread(ora);
t.start();
:quote: :quote: :quote: :quote: :quote:
Qualcuno sa dirmi come fare a risolvere il problema di Marco_Frigerio???
Grazie
Ora ora = new Ora();
ora.start();
prova in questo modo
provato anche con
ora.start();
ma il metodo run() viene eseguito una sola volta!!!
strano
prova a mettere un System.out.println("qualcosa") nel ciclo e vedi se lo stampa una o piu' volte