Как использовать сочетание клавиш Command-c / Command-v в Mac для копирования / вставки текста? - PullRequest
14 голосов
/ 31 августа 2011

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

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

Ответы [ 3 ]

19 голосов
/ 31 августа 2011

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

1 голос
/ 31 августа 2011

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

Только что протестировал, и он отлично работает на Snow Leopard.

1 голос
/ 31 августа 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...