Robot, przerwanie dzialania

Robot, przerwanie dzialania
0

eksperymentuje z klasa Robot i majac przykladowo taki kod jak ponizej, chcialbym aby program przestal dzialac nie tak jak tutaj po 10 iteracjach petli tylko zamiast tego aby program wykonywal sie do momentu az nie nacisniemy np "p" na klawiaturze. czy to ma dzialac jako watek do momentu keidy jakis listener nie dostanie info o p?

Kopiuj
 import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;

public class App {

    public static void main(String[] args) {
        try {
            Robot robot = new Robot();
            robot.delay(5000);
            
            
for (int i = 0; i < 10; i++) {
    int keycode =KeyEvent.VK_W;
    
    robot.delay(1000);
    robot.keyPress(keycode);
    
    robot.keyRelease(keycode);
    
}            
            
        } catch (AWTException e) {
            e.printStackTrace();
        }

    }

}
1

chyba wiem jak to zrobie
zrobie drugi watek ktory bedzie czytal klawiature i jak bedzie p to zmieni warunek petli while z watku pierwszego ktory bedzie robotem i flaga false- przerwanie

wojciechmaciejewski
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 2 lata
  • Postów:560
0

dodaj KeyListnera.
po co Ci drugi wątek? przerwij działanie sprawdzając co wywołało KeyEvent.

edytowany 1x, ostatnio: wojciechmaciejewski
0

@up masz racje zrobie to tak jak mowisz,

inny problem:
chce aby moj program nagral sekwencje myszki/ klawiatury i zpoenij mozna bylo poscic nagranie w petli. wszystko fajnie tlyko program dziala dopoki na focusie mam okno mojego programu, jezeli sie alttabne gdzies to juz nie dziala czytanie moich ruchow, jak to rozwiazac?

wojciechmaciejewski
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 2 lata
  • Postów:560
0

nie da się

0

nie da się

Nie wprowadzaj go w błąd. https://code.google.com/p/jnativehook/
Nie jest to zadanie proste, ale jak najbardziej możliwe (kiedyś musiałem coś podobnego wykonać w C#).

wojciechmaciejewski
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 2 lata
  • Postów:560
0

Ok, nie wiedziałem że istnieje gdzieś taka biblioteka. Przy czym jest na GPL-u więc w żadnych projektach z licencjami nie GPL raczej z tym nie pośmigasz :P

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.