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