Как использовать Command-c/Command-v ярлык на Mac для копирования/вставки текста?

У меня есть приложение Java Swing, которое я хочу запустить в Mac OS X. Я хочу использовать обычные ярлыки для копирования/вставки Mac для копирования/вставки текста в текстовое поле в приложении Java.

Ctrl + c и Ctrl + v делает трюк, но я хочу использовать Command + c и Command + v. Как я могу это сделать?

Ответы

Ответ 1

Если вы используете стороннюю реализацию L & F, она, вероятно, не поддерживает быстрые клавиши быстрого доступа к Mac. Следующий код должен восстанавливать быстрые клавиши Mac для JTextField после установки L & F:

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, чтобы вы не влияли на сопоставления клавиатуры для других ОС.

Ответ 2

Вы видели, знаете или используете SWT (Standard Widget Toolkit), поддерживаемый Eclipse? У этого есть нажатие клавиши (SWT.COMMAND) для команды.

Ответ 3

Вы используете чистый Swing? Если это так, это должно сделать это автоматически (обратите внимание, что это может не сделать анимацию небольшого меню, если вы не используете пакет приложений). Если нет, вам придется проконсультироваться с документацией по любому API, который вы используете.

Просто протестируйте его, и он отлично работает на Snow Leopard.