KeyListener i wykrycie dwukrotnego wciśnięcia klawisza

0

Witam
W swoim programie mam pole tekstowe typu JTextField. Dodaję do niego taki oto listener:

    private KeyListener keyAdapter = new KeyAdapter()
    {
		public void keyReleased(KeyEvent e)
		{
			if(e.getKeyCode()==KeyEvent.VK_ENTER)
			{
				...
                                ...
			}
		}
    };

Do tej pory wszystko jest ok, natomiast chciałbym uzyskać taki efekt aby po wciśnięciu klawisze enter wykonała mi się załóżmy metoda_1, a po wciśnięciu jeszcze raz klawisza wykonała się metoda_2. Nie bardzo wiem w jaki sposób sprawdzić jaki klawisz został wciśnięty po wcześniejszym wciśnięciu. Mam nadzieję, że jasno opisałem swój problem. Dzięki z góry.

1

nie wiem czy dobrze rozumiem, ale chodzi Ci po prostu o zapamiętanie wcześniejszego wyboru?

private KeyListener keyAdapter = new KeyAdapter()
    {
                public void keyReleased(KeyEvent e)
                {
                        if(e.getKeyCode()==KeyEvent.VK_ENTER)
                        {
                               if(e.getKeyCode()==KeyCode) metoda_2;
                               else metoda_1;
                       }
                KeyCode = e.getKeyCode();
                }
    };

czyli po każdym wciśnięciu klawisza zapisujesz do zmiennej prywatnej należącej do klasy w tym przypadku int KeyCode informację o wciśniętym klawiszu i w trakcie wciśnięcia Entera sprawdzasz czy wcześniej również był wciskany i uruchamia się metoda_1, bądź metoda_2.
Jeżeli chcesz to ograniczyć czasem to możesz jeszcze zapisywać czas wciśnięcia poprzedniego klawisza i sprawdzać czy było to wykonane np w ciągu ostatnich 2sekund.

0

Dzięki to mi znacznie pomogło.

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