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

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

Ctrl + cCtrl + v可以解决问题,但我想使用Command + cCommand + v代替。 我怎样才能做到这一点?

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

 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上运行,您只需执行此操作,这样就不会影响其他操作系统的键盘映射。

您是否已经看过,知道或正在使用Eclipse维护的SWT(标准窗口小部件工具包)? 这有一个按键(SWT.COMMAND)用于命令。

你在运行纯粹的Swing吗? 如果是这样,它应该自动执行(注意,如果您不使用Application包,它可能不会生成小菜单动画)。 如果没有,那么您将不得不查阅您正在使用的API的文档。

刚测试它,它在Snow Leopard上运行良好。