Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [JAVA] Cronometrare tempo

    Salve a tutti,
    avrei un problema per quanto riguarda il cronometraggio di un dato intervallo di tempo.... ad esempio

    START=true;
    long END_TIME;
    do { END_TIME=System.currentTimeMillis();

    String miaStringa = String.valueOf(END_TIME);
    JText1.setText(miaStringa);
    System.out.println(miaStringa);

    } while (CONNECTED==true);


    La finestra grafica si "blocca" mentra la finestra di IO continua ad essere aggiornata... cosa sbaglio?

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Quesllo stralcio di codice fa parte di un metodo invocato quando ad esempio viene premuto un bottone o viene gestito un altro evento dell'interfaccia grafica? Se è cosi si blocca perche il metodo non ritorna e dovresti eseguirlo in un thread separato.

  3. #3
    Cioè potrei anche creare un metodo separato ?

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Se il problema è quello che ho detto io dovresti creare un nuovo Thread, cioè un oggetto della classe Thread, ridefinendone il metodo run(). Ad esempio puoi fare cosi:

    Codice PHP:
    Thread thread = new Thread(){
        
         public 
    void run(){
             
    //qui metti il codice in cui conti il tempo
         
    }  
    };
    thread.start(); 

  5. #5
    Ho provato la soluzione che mi hai sugg. ma non ho risolto il problema.
    Potresti per favore farmi un esempio completo?

  6. #6
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Magari prima posta il tuo codice cosi vedo qual è il problema...

  7. #7
    TIMER = new Thread(){
    public void run(){

    END_TIME=System.currentTimeMillis();
    END_TIME=END_TIME-START_TIME;
    String miaStringa = valueOf(END_TIME);
    TIME.setText(miaStringa);
    }

    Nel metodo che implementa il listener per il bottone ho sritto...

    TIMER.start();


    Se metto un while .... si blocca come prima....

  8. #8
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Il while lo devi mettere all'interno del metodo run del thread

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.