加速器键值 java.awt.event.KeyEvent

发布于 2024-12-27 19:07:24 字数 135 浏览 0 评论 0 原文

我使用加速器使用 java/junit 执行 CTRL+C 然后 CTRL+V 有没有办法获取 CTRL+V 的值来检查它?

I'm using accelerator to perform CTRL+C then CTRL+V using java/junit
is there a way to get the value of CTRL+V to check it ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

奢华的一滴泪 2025-01-03 19:07:24

正如此处所述,菜单快捷键击键,例如 Ctrl+V 应该以独立于平台的方式构建:

int mask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
JMenuItem menuItem = new JMenuItem(…);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, mask));

作为比较,您可以通过 KeyStroke href="http://docs.oracle.com/javase/7/docs/api/javax/swing/JMenuItem.html#getAccelerator%28%29" rel="nofollow noreferrer">getAccelerator() 或通过 KeyEvent href="http://docs.oracle.com/javase/7/docs/api/javax/swing/KeyStroke.html#getKeyStrokeForEvent%28java.awt.event.KeyEvent%29" rel="nofollow noreferrer">KeyStroke.getKeyStrokeForEvent()

As mentioned here, a menu accelerator key stroke such as Ctrl+V should be constructed in a platform independent manner:

int mask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
JMenuItem menuItem = new JMenuItem(…);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, mask));

For comparison, you can get the menu item's KeyStroke via getAccelerator() or from any KeyEvent via KeyStroke.getKeyStrokeForEvent().

请别遗忘我 2025-01-03 19:07:24

如果您的意思是如何在 JUnit 测试中模拟 ctrl+Vctrl+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 模拟键盘输入

If you mean how do I simulate the ctrl+V and ctrl+C events within a JUnit test for a Swing application, then I would recommend looking at FEST. Using FEST, you can simulate mouse clicks, or key presses. To simulate a
ctrl+V, you would do:

// import static java.awt.event.KeyEvent.*;          
dialog.list("employees").pressKey(VK_CONTROL)
                        .pressAndReleaseKey(VK_V)
                        .releaseKey(VK_CONTROL);

and so on. For more information on simulating user input, see the wiki Simulating Keyboard Input.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文