2016-11-28 6 views
1
Robot r=new Robot(); 
r.keyPress(KeyEvent.KEY_LOCATION_LEFT); 
r.keyPress(KeyEvent.VK_SHIFT); 
r.keyRelease(KeyEvent.KEY_LOCATION_LEFT); 
r.keyRelease(KeyEvent.VK_SHIFT); 

Я просто попытался создать виртуальную клавиатуру, точно равную реальной, но я не могу определить левый и правый. Я использовал приведенный выше код, он не работает.Нажмите левую смену, используя класс робота

+0

Ответит ли это на ваш вопрос? http://stackoverflow.com/questions/991765/how-to-tell-which-shift-key-was-pressed –

+0

Вышеуказанная ссылка дает местоположение нажатой кнопки. Но мне нужно нажать эту кнопку. Проверьте мой код I просто использовал этот метод, который он не работает ... –

ответ

0

Я думаю, что r.keyPress(KeyEvent.KEY_LOCATION_LEFT); ничего не делает, поскольку эта константа относится не только к клавише сдвига, а потому не может быть нажата.

Также Javadoc для Robot.keyPress(int) состояний:

Основные коды, которые имеют более чем один физический ключ, связанный с ними (например KeyEvent.VK_SHIFT может означать либо левую или правую клавишу Shift) будет отображать на левый ключ.

Поэтому я не думаю, что можно сделать то, что вы надеетесь использовать класс Robot. Вы можете захотеть найти другую библиотеку, если вам нужна эта функциональность.

+0

Знаете ли вы какую-нибудь библиотеку, чтобы достичь этого. –