Timer

0

Mam klawisz i kilkając na niego zwiększam wartość przechowywanej zmiennej o 1. Chcę tak zrobić, żeby po 3 sekundach wartość zmiennej się zerowała. Próbowałem to zrobić za pomocą Timera, ale po 3 sekundach on się zacina i wciskając klawisz nic się nie uzyskuje. Kod:

jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt)
{
javax.swing.Timer timer=new javax.swing.Timer(3000,new java.awt.event.ActionListener()
        {
        public void actionPerformed(java.awt.event.ActionEvent evt)
        {
        stan=1;
        }
});
                if(stan==1)
                    tekst.Dodaj("a");
                if(stan==2)
                    tekst.DodajUsun("b");
                if(stan==3)
                    tekst.DodajUsun("c");
                stan++;
                if(stan==4)
                    stan=1;
                jTextArea.setText(tekst.PokazTekst);
                timer.start();
                }
            });
0

Każde naciśnięcie klawisza jButton tworzy nowy timer. Po kilku naciśnięciach "chodzi" kilka niezsynchronizowanych timerów i w efekcie zmienna stan ma zazwyczaj wartość 1.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0