Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    17

    problema Timer

    Salve a tutti, sto cercando di implementare un timer in java e per farlo ho creato una mia classe che ho chiamato MyTimer che estende Thread. Il mio problema è che ogni volta che la faccio partire quando la cerco di stoppare mi da errore, ho provato direttamente a richiamare il metodo stop(); ma mi crea delle eccezzioni. Qualche idea per implementarlo in modo diverso? O sbaglio qualcosa? Vi riporto il codice:

    codice:
    public class MyTimer extends Thread {
    	public int tempo=0;
    	
    	public MyTimer(){
    		
    	}
    	
    	public void run(){
    		try{
    			for(;;){
    				sleep(1000);
    				tempo++;
    			}
    		}
    		catch(Exception e){
    			System.out.println("il timer ha generato un'eccezione:");
    			System.out.println(e.getMessage());
    		}
    		
    	}
    	public void Mystop(){
    		tempo=0;
    	}
    	
    	public int getTempo(){
    		System.out.println("tempo "+tempo);
    		return tempo;
    	}
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    17
    Qualcuno mi sa dire perchè lo stop non funziona?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    E' spiegato nelle API

    http://java.sun.com/j2se/1.5.0/docs/...ng/Thread.html

    cosa che tu chiaramente non hai minimamente consultato.
    Buon weekend.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    17
    Io non le ho consultate ma tu non hai letto il codice, per chi avesse voglia di aiutarmi vi posto l'errore che mi da:

    at javax.swing.SystemEventQueueUtilities$ComponentWor kRequest.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierar chy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    17
    Non c'è qualcuno che potrebbe postarmi un esempio di timer? Mi sarebbe molto d'aiuto

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    17
    Su consiglio di Andrea1979 ho rifatto il timer utilizzando la classe Timer, ma ora il problema è che adesso va solo per il primo secondo e poi non continua...
    codice:
    import java.util.*;
    
    public class MyTimer{
    	public int tempo=0;
    	public int delay=1000;
    	public Timer timer;
    	
    	public MyTimer(){
    		
    		timer = new Timer();
    		timer.schedule(new RemindTask(), delay);
    	
    	}
    	
    	public class RemindTask extends TimerTask{
    		
    		public void run(){
    			tempo++;
    		}
    	}
    	
    	public void Mystop(){
    		timer.cancel();
    		tempo=0;
    	}
    	
    	public int getTempo(){
    		System.out.println("tempo getTempo "+tempo);
    		return tempo;
    	}
    }
    ho provato ad inserire sia il run che timer.schedule in un ciclo infinito, ma non va. Cosa sbaglio?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    17
    Possibile che nessuno puo aiutarmi?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    17
    mi rispondo da solo...ho risolto topic chiuso

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.