我在eclipse下使用Junit4。 我想編寫一個測試,它可以是能夠發送的動作:ctrl+shift+P
java:如何發送加速鍵
我試圖用這個作爲的JTable我不知道哪一個分量,我可以使用sendAcceleratorKey
:
myTable.sendAcceleratorKey(InputEvent.CTRL, InputEvent.SHIFT_DOWN_MASK)
但我不能添加第三個參數來說KeyEvent.P
。
如何發送此操作更改菜單?
謝謝!
我在eclipse下使用Junit4。 我想編寫一個測試,它可以是能夠發送的動作:ctrl+shift+P
java:如何發送加速鍵
我試圖用這個作爲的JTable我不知道哪一個分量,我可以使用sendAcceleratorKey
:
myTable.sendAcceleratorKey(InputEvent.CTRL, InputEvent.SHIFT_DOWN_MASK)
但我不能添加第三個參數來說KeyEvent.P
。
如何發送此操作更改菜單?
謝謝!
我猜你可以使用Robot類。
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_P);
Thread.sleep(1000); // Time for your code to react to the event
assert(...);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_SHIFT);
robot.keyRelease(KeyEvent.VK_P);
我找不到對sendAcceleratorKey()
的任何引用。但是,如果它真的存在,它你想要做什麼,它看起來邏輯,我使用的方法這種方式,用鑰匙調節劑:
myTable.sendAcceleratorKey(InputEvent.CTRL | InputEvent.SHIFT_DOWN_MASK,
KeyEvent.VK_P);
否則,嘗試交換參數,取決於方法簽名。
myTable.sendAcceleratorKey(KeyEvent.VK_P,
InputEvent.CTRL | InputEvent.SHIFT_DOWN_MASK);
什麼是'sendAcceleratorKey()'?您是否在尋找['KeyStroke.getKeyStroke'](http://download.oracle.com/javase/6/docs/api/javax/swing/KeyStroke.html#getKeyStroke%28int,%20int%29)? – trashgod
使用KeyStroke.getKeyStroke,我如何使用Ctrl + Shift + letterKey?謝謝 – lola