我在Robot Objects上使用键盘事件....
但每次我必须单独指定密钥....比如
机器人r =新机器人(); r.KeyPress(KeyEvent.VK_A); r.KeyPress(KeyEvent.VK_B); r.KeyPress(KeyEvent.VK_C); r.KeyPress(KeyEvent.VK_D);
是否有任何技术来获取/识别每个键的eachand ....不是单独指定它们? 我在 keyCode 变量中收到服务器端的密钥代码.... 所以我可以直接使用这个变量取代“KeyEvent.VK_D”,如 r.keyPress(keyCode); 请告诉我....
答案 0 :(得分:1)
密钥标识符只是一个Int值。当服务器值与java值匹配时,直接将值放入。如果不是,则必须创建一个映射,其中服务器值引用java键值。
在C ++ Qt键事件和Java Key事件之间的转换过程中,我遇到了同样的问题。该值也不匹配。我不得不为此创建一个映射。
看一下KeyEvent类。每个Key都列出了一个int值。您必须检查从服务器获得的值是否与此int值匹配。当服务器值不匹配时,您必须创建一个Map。 map键是服务器值,map值是按下的键的相应KeyEvent valuke。
当值匹配时,您不必创建地图。您可以直接使用Robot命令的服务器值。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果我正确理解了您的问题,那么只要按下任何键,您就会尝试执行此操作。虽然我怀疑我正在正确地阅读你的问题,但解决方案是使用KeyEvent.KEY_PRESSED,如果你想要一个动作或者在一个键被释放时设置一个变量,它将是KeyEvent.KEY_RELEASED。虽然,我有点困惑。您是否真的希望在按下每个键时发生相同的操作,或者您想要一组键的唯一事件?