这个问题可能很奇怪。但我想让它明白。我想在java中制作一个屏幕键盘。它应该写入激活光标的字符。就像,打开一个微软word文件,我想在那个word文件中写入键盘。可能是我在visual studio编码,我会通过点击键盘键在visual studio中编写代码。如何用我的键盘在其他应用程序中编写。任何人都可以给我任何想法吗?提前致谢。 我用摇摆来制作键盘布局(字母和数字字符)。
答案 0 :(得分:3)
你有一系列复合问题,主要围绕键盘焦点。
主要问题是,一旦你点击窗口中的一个按钮,窗口就会聚焦,而按钮会成为键盘焦点的活动接收者,这意味着你所做的任何尝试都会发送一个按键,任何地方最终会被消耗掉你刚刚点击的按钮。
最简单的方法是使用JButton#setFocusable
并将false
传递给Robot bot = new Robot();
bot.setAutoDelay(100); // I find a small delay between events helps a lot...
bot.keyPress(KeyEvent.VK_A);
bot.keyRelease(KeyEvent.VK_A);
,使所有按钮无法对焦。
要以编程方式将击键发送到活动窗口,您可以使用Robot
类
例如......
{{1}}
答案 1 :(得分:2)
您可以使用Robot类
http://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html
这有两个方法,keyPress和keyRelease,你必须打电话来模仿按键。
这可以称为传入KeyEvent常量。
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_A);