我正在使用加速器执行 CTRL + C 然后 CTRL + V 使用java / junit 有没有办法得到 CTRL + V 的值来检查它?
答案 0 :(得分:1)
如果你的意思是我如何在JUnit中模拟 ctrl + V 和 ctrl + C 事件测试Swing应用程序,然后我建议查看FEST。使用FEST,您可以模拟鼠标点击或按键。模拟一个 ctrl + V ,你会这样做:
// import static java.awt.event.KeyEvent.*;
dialog.list("employees").pressKey(VK_CONTROL)
.pressAndReleaseKey(VK_V)
.releaseKey(VK_CONTROL);
等等。有关模拟用户输入的更多信息,请参阅wiki Simulating Keyboard Input。
答案 1 :(得分:1)
如上所述here,菜单加速键按键,例如 Ctrl + V 应以独立于平台的方式构建:
int mask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
JMenuItem menuItem = new JMenuItem(…);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, mask));
为了进行比较,您可以通过getAccelerator()
或通过KeyStroke.getKeyStrokeForEvent()
从任何KeyStroke
获取菜单项KeyEvent
。