Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    6

    [Java] classe Timer e Swing

    Salve a tutti, ho un problema che sospetto abbia una soluzione semplice, ma proprio non ne vengo a capo

    Ho un'interfaccia grafica che contiene un bottone il cui click è associato ad una action che aggiorna l'interfaccia (non mi dilungo su cosa faccia) ogni 2 secondi.

    Premendo il bottone la prima volta inizia il timer, ripremendolo deve fermarsi e così via.
    Il problema è proprio questo, non so come farlo fermare al secondo click!

    ho inserito timer.start() all'interno di actionPerformed, in modo che il metodo fa il suo lavoro ogni 2 sec, come posso verificare che il bottone è stato premuto una seconda volta e fermare il timer (timer.stop())?

    Non credo di essere stata molto chiara :master:

    Grazie

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

    Re: [Java] classe Timer e Swing

    Originariamente inviato da laucel
    Premendo il bottone la prima volta inizia il timer, ripremendolo deve fermarsi e così via.
    Il problema è proprio questo, non so come farlo fermare al secondo click!
    Innanzitutto immagino che tu stia usando la classe javax.swing.Timer (nota che ci sono altre 2 classi altrove nel framework che hanno il nome Timer).

    Per fare un cambio di stato e quindi eseguire start o stop, devi chiaramente conoscere lo stato corrente. Potresti tenere una tua variabile che dice se il timer è attivo. Ma c'è un modo più semplice: usare il metodo isRunning().

    In sostanza: isRunning? Se true fai stop, altrimenti start.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    6

    Re: Re: [Java] classe Timer e Swing

    si, ho usato javax.swing.Timer, perdona l'imprecisione

    funziona perfettamente usando il metodo isRunning(), grazie mille!

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.