Я использую экземпляр Robot
для программного нажатия клавиш. Эти клавиши нажимаются внутри цикла while с использованием класса, расширяющего Thread
.
Мое приложение имеет только одно окно, главное окно.
Даже если я запрашиваю фокус на правильном окне каждый раз, когда нажимаю на кнопку, запускающую поток, бывает, что иногда события нажатия клавиш запускаются в другом месте вместо моего приложения.
Почему это происходит?
Вот фрагмент:
try {
Robot robot = new Robot();
while(!stopped)
{
fireRandomKey(robot);
Thread.sleep(1000);
}
} catch (AWTException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}