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

Bra*_*rad 14 java macos swing copy paste

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

Ctrl+ c- Ctrl+ v的伎俩,但我想用Command+ c&Command+ v代替.我怎样才能做到这一点?

cgu*_*ull 20

如果您使用的是第三方L&F实现,它可能不支持Mac的本机键盘快捷键.以下代码应JTextField在设置L&F后恢复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);
Run Code Online (Sandbox Code Playgroud)

当然,如果您检测到应用程序在Mac上运行,您只需执行此操作,这样就不会影响其他操作系统的键盘映射.

  • 不要对值进行硬编码,而是使用[`getMenuShortcutKeyMask()`](http://download.oracle.com/javase/7/docs/api/java/awt/Toolkit.html#getMenuShortcutKeyMask%28%29). (7认同)