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

    Salvataggio automatico coi thread

    salve, sto cercando di implementare un salvataggio automatico su un programma che dovrebbe permettere di raccogliere dati (goal, tiri, cartellini rossi etc.) di una partita di un qualunque sport. Ho cercato di usare un timer e un timertask.

    Quando avvio il cronometro della partita, mi crea il timertask a cui passo l'istanza stessa della partita e poi faccio partire tramite il timer, lo scheduler.

    codice:
    public void AutoSave() {		Timer t = new Timer();
    		AutoSaveThread autosave = new AutoSaveThread(NuovaPartita.this);
    		t.schedule(autosave,0, 10000);
    	}
    In teoria il timertask dovrebbe salvare in un file l'oggetto partita ma eclispe mi da un nullpointerexception ogni volta che parte il timer task.

    codice:
    import java.io.ObjectOutputStream;import java.io.Serializable;
    import java.util.TimerTask;
    
    
    @SuppressWarnings("serial")
    public class AutoSaveThread extends TimerTask implements Serializable {
    	private NuovaPartita partita;
    	
    	public AutoSaveThread(NuovaPartita partita){
    		this.partita = partita;
    	}
    	public void run() {
    		try {
    			System.out.println("inizio salvataggio");
    			FileOutputStream f_out = new FileOutputStream(partita.toSave()+".autosave");
    			
    			ObjectOutputStream obj_out = new ObjectOutputStream (f_out);
    			obj_out.writeObject ( partita);
    			obj_out.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		System.out.println("salvataggio automatico");
    		
    	}
    	
    	
    
    
    }
    infine ecco gli errori che mi da

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javax.swing.plaf.basic.BasicScrollPaneUI.paint(Unk nown Source)
    at javax.swing.plaf.ComponentUI.update(Unknown Source)
    at javax.swing.JComponent.paintComponent(Unknown Source)
    at javax.swing.JComponent.paint(Unknown Source)
    at javax.swing.JComponent.paintToOffscreen(Unknown Source)
    at javax.swing.RepaintManager$PaintManager.paintDoubl eBuffered(Unknown Source)
    at javax.swing.RepaintManager$PaintManager.paint(Unkn own Source)
    at javax.swing.RepaintManager.paint(Unknown Source)
    at javax.swing.JComponent._paintImmediately(Unknown Source)
    at javax.swing.JComponent.paintImmediately(Unknown Source)
    at javax.swing.RepaintManager$4.run(Unknown Source)
    at javax.swing.RepaintManager$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(Unknown Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unkno wn Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unkno wn Source)
    at javax.swing.RepaintManager.prePaintDirtyRegions(Un known Source)
    at javax.swing.RepaintManager.access$1300(Unknown Source)
    at javax.swing.RepaintManager$ProcessingRunnable.run( Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$400(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPri vilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(U nknown 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)
    steelass

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    99
    non sono espertissimo, ma sei sicuro che l'errore provenga da queste righe di codice? dallo stack sembra che siano coinvolti componenti swing. puoi postare più codice?

  3. #3
    credo che provenga da qua. Probabilmente l'errore risiede nel passaggio del parametro NuovaPartita.this all'AutosaveThread ma non riesco a risolvere!

    la classe nuovapartita ha anche componenti dello swing!
    steelass

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.