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

    Timer countdown in un JFrame con input da JSpinner

    Ciao ragazzi sono un vero novizio di java,
    ho letto molti post prima di aprirne uno nuovo, ma purtroppo non sono riuscito a risolvere il mio problema.
    Spiego :
    devo creare un timer con un conto alla rovescia, i minuti di countdown sono selezionati da uno spinner, tutto questo deve essere dentro un jframe e visualizzabile.
    Vorrei sapere come fare, ho trovato vari esempi tra cui un cronometro ma non riesco ad invertire il conteggio e sopratutto impostare i minuti di partenza.
    potete aiutarmi?

    grazie..

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Timer countdown in un JFrame con input da JSpinner

    Originariamente inviato da cardelly
    ho trovato vari esempi tra cui un cronometro ma non riesco ad invertire il conteggio e sopratutto impostare i minuti di partenza.
    Forse hai trovato questo mio esempio.
    Comunque non è difficile invertire il conteggio. Nel mio esempio mi basavo sul tempo reale (non su una variabile che incremento ogni tot di tempo ... che potrebbe non risultare preciso a lungo andare).

    Presupponendo che tu non abbia problemi a gestire un JSpinner e a ricavarne il valore, una volta che hai i minuti, ti basta prendere il tempo corrente(System.currentTimeMillis()) ed aggiungere i minuti (servono pochi calcoli).
    Da quel momento in avanti, a intervalli di tempo, leggi il tempo corrente e fai la differenza. Differenza che chiaramente decresce!! Con i millisecondi di differenza ti calcoli quello che vuoi .. ore, minuti, secondi, ecc...

    Pensaci un po', se hai dubbi, chiedi pure.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Si esatto era prorpio il tuo crono.
    Sono riuscito a sistemare il tutto grazie mille per l'aiuto!

  4. #4
    Ehm ora ho un nuovo problema,
    devo inserire un suono quando scade il timer.
    ho gia messo la condizione ecc e funziona tutto, ma nn riesco a capire perchè nn parte l'audio.
    questa è la classe che ho creato per il sound :
    codice:
    import java.applet.*;
    import javax.swing.JApplet;
    
    
    public class Suono extends JApplet {
    	private AudioClip aud;
    	
    	public void play(){
    
    	   aud = getAudioClip(getDocumentBase(),"daffy.au");
    	   aud.play();
      }
    
    
    }

    ora nell'altra classe creo Suono so = new Suono();
    e richiamo il metodo play della classe, ma quando il timer scade e entra nell'if mi da un java.lang.NullPointerException sul getAudioClip.
    non riesco a capire il perchè...
    un aiutino

    grazie

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da cardelly
    java.lang.NullPointerException sul getAudioClip.
    non riesco a capire il perchè...
    È molto semplice: il tuo "sfruttamento" di JApplet/Applet in una normale applicazione "desktop" non ha senso e non funziona!!!

    getAudioClip() usa l'AppletContext (ottenendolo da getAppletContext() di Applet). Ma questo "contesto" rappresenta l'ambiente di esecuzione che ovviamente ha senso ed esiste solo in una vera applet!!!

    Quindi non puoi farlo. Non ho ora codice a portata di mano, ma se segui questa ricerca su google è molto probabile che trovi qualcosa di utile.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Grazie mille, sono riuscito a risolvere qnche questo problema con il tuo aiuto.
    Davvero grazie!!
    sei un genio

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 © 2026 vBulletin Solutions, Inc. All rights reserved.