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

时间:2011-08-31 05:03:46

标签: java swing copy paste macos

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

Ctrl + c & Ctrl + v 可以解决问题,但我想使用 Command + c & 命令 + v 。我怎么能这样做?

3 个答案:

答案 0 :(得分:19)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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