Następny krok po wciśnięciu klawisza

0

Cześć,

mam pewien algorytm, w którym pokazuje kroki jak on działa. Do tego używam Thread.sleep(), jednak chciałbym aby następny krok był np. po naciśnięciu jakiegoś klawisza lub myszki. Czy można to w jakiś łatwy sposób zrobić? W stylu:

mam pętlę:

for( int i = 0; i < 10; ++i ) {
  try {
    Thread.sleep( 1000 );
  } catch(InterruptedException ex) {}

  System.out.println( "krok " + i );
  // ..
}

i chciałbym zamiast sleepa wrzucić coś co by czekało na przycisk klawisza. Czy jest to możliwe?

Pozdrawiam i dziękuję za pomoc.

0

Można wykorzystać klasę Scaner:

Scanner scanner = new Scanner(System.in);
for( int i = 0; i < 10; ++i ) {
   scanner.nextLine();
  System.out.println( "krok " + i );
  // ..
}

Po naciśnięciu enter przejdzie do kolenego kroku w pętli.

0

szlag, fajny sposób, ale zapomniałem dodać ze to aplikacja okienkowa, przepraszam za pomyłkę. Nie można jakoś czegoś takiego przypisać do buttona?

0

a może po prostu obsługa zdarzeń, wówczas - coś Ci się wykonało - wyświetlasz informację - wszak jest to program okienkowy :)

0

dobra poradziłem sobie, dałem zmienną stop = true; i po tym pętlę while( stop == true ) {}, a przy przyciśnięciu buttona zamienia stop na false i wychodzi dzięki temu z pętli i leci dalej.

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