我想用Java制作触摸屏超极本的虚拟键盘。例如,我想用我的虚拟键盘输入Microsoft Word。
到目前为止,我使用JButton
来表示键,并使用Robot
类来模拟计算机输入。
我遇到的问题是,当我按下JButton
时,它会聚焦JButton
,因此Robot
类将输入定向到JButton
而不是程序我想输入,如Microsoft Word。
对于按钮A
,我的代码如下所示int KeyValue = KeyEvent.VK_A;
Robot robot ...
JButtton.addMouseListener(new MouseListener(){
...
public void mousePressed(MouseEvent e){
robot.keyPress(KeyValue);
}
public void mouseReleased(MouseEvent e){
robot.keyRelease(KeyValue);
}
...
}
...
我已确认按下按钮。我在KeyListener
添加了JButton
,并在" A"单击按钮时按下按钮,但它指向JButton
而不是其他程序。
我尝试使用JButton.setFocusable(false)
,但它没有工作......
我已经搜索了与我类似的其他问题,但它们都是本地键入另一个Java窗口或文本框,而不是另一个程序。
所以我的问题是 - 如何将虚拟键盘输入其他程序?最好使用JButtons
,但我可以接受任何建议吗?
答案 0 :(得分:2)
设置JFrame
的{{1}}属性。