Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema Timer

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    17

    Problema Timer

    ciao a tutti, ho creato un timer che una volta partito visualizza il tempo trascorso su una JLabel. il problema è che il tempo avanza di 2 alla volta invece che di 1.... vi posto una parte di codice
    codice:
    public class MainFrame extends JFrame implements MouseListener,ActionListener{
    
    private TimerLabel timelab;
    private Timer time;
    private int count = 0;
    
    public MainFrame(){
    
    this.timelab = new TimerLabel();
    this.time = new Timer(1000,this);
    
    JPanel pp = new JPanel();
            
    pp.add(this.timelab);
    
    this.time.addActionListener(this);
    
    }
    
    public void actionPerformed(ActionEvent e) {
            
            this.count ++;
            this.timelab.text(this.count);
            
        }
    
    
    
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    3
    Mi dicevano: Se il computer non ha i risultati desiderati, allora raggiralo.
    prova così
    codice:
    public void actionPerformed(ActionEvent e) 
    {   
            int app=this.count+1;
            this.count=app;
            this.timelab.text(app); 
        }
    Ultima modifica di 06Mark; 01-06-2014 a 19:53

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da rugrag Visualizza il messaggio
    il problema è che il tempo avanza di 2 alla volta invece che di 1

    codice:
    this.time = new Timer(1000,this);
    
    this.time.addActionListener(this);
    Beh, il listener è registrato .... 2 volte!
    Uno tramite il costruttore

    public Timer(int delay, ActionListener listener)

    e una seconda volta tramite il metodo

    addActionListener(ActionListener listener)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    17
    Quote Originariamente inviata da 06Mark Visualizza il messaggio
    Mi dicevano: Se il computer non ha i risultati desiderati, allora raggiralo.
    prova così
    codice:
    public void actionPerformed(ActionEvent e) 
    {   
            int app=this.count+1;
            this.count=app;
            this.timelab.text(app); 
        }
    niente da fare!!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    17
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Beh, il listener è registrato .... 2 volte!
    Uno tramite il costruttore

    public Timer(int delay, ActionListener listener)

    e una seconda volta tramite il metodo

    addActionListener(ActionListener listener)
    Grande ora ho capito! ora funziona 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.