java - 如何在 Mac 中使用 Command-c/Command-v 快捷方式复制/粘贴文本?

标签 java swing copy paste macos

我有一个 Java Swing 应用程序,我想在 Mac OS X 上运行。我想使用普通的 Mac 复制/粘贴快捷方式将文本复制/粘贴到我的 Java 应用程序中的文本字段。

Ctrl+c & Ctrl+v 可以解决问题,但我想使用 Command +c & Command+v 代替。我该怎么做?

最佳答案

如果您使用的是第 3 方 L&F 实现,它可能不支持 Mac 的 native 键盘快捷键。以下代码应在设置 L&F 后为 JTextField 恢复 Mac 的键盘快捷键:

InputMap im = (InputMap) UIManager.get("TextField.focusInputMap");
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.META_DOWN_MASK), DefaultEditorKit.copyAction);
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.META_DOWN_MASK), DefaultEditorKit.pasteAction);
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.META_DOWN_MASK), DefaultEditorKit.cutAction);

当然,只有当您检测到该应用程序正在 Mac 上运行时,您才需要执行此操作,这样您就不会影响其他操作系统的键盘映射。

关于java - 如何在 Mac 中使用 Command-c/Command-v 快捷方式复制/粘贴文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7252749/

相关文章:

Java 按钮布局和显示

python - 重用基础图而无需重新绘制

复制到 C 中的嵌套结构

在C中复制和合并两个字符串

java - 2 列文件名的 JTable。当更多文件添加到文件列表时自动更新?

java - 如何检查一个字符是否等于java中的双引号

java - 如何将 scrollPane 放在 BoxLayout 上?

java - 更改 JTabbedPane 的外观

java - 可选择在 map 和 orElseGet 中使用通用通配符

java - JProgressBar背景颜色