Вопрос по java, macos, swing – Java - Как подключиться к меню «Копировать и вставить» в Mac OS

1

Я понимаю, что вы можете:

<code>// Where CustomMacOSXController implements implements MRJAboutHandler, ...
CustomMacOSXController macOSXController = new CustomMacOSXController()

MRJApplicationUtils.registerAboutHandler(macOSXController); 
MRJApplicationUtils.registerPrefsHandler(macOSXController);
//... and so on
</code>

Однако я не могу найти ничего, чтобы перехватить меню копирования и вставки, чтобы при его вызове это влияло на текущий выбранный JTextField (например, вставка вставит буфер обмена в выбранный JTextField.

Ваш Ответ

1   ответ
4

В отличие от системного и прикладного меню Mac OS X, меню «Правка» полностью входит в сферу действия вашей программы. Вы должны создать и заполнить его подходящимAction, Предопределенные подклассы, определенные вjavax.swing.text.TextAction удобны, так как они знают о целевом компоненте. Смотрите также это связаноQ & усилителя, A а такжепример, Например,

Action pasteAction = new DefaultEditorKit.PasteAction();
JMenuItem pasteItem = new JMenuItem(pasteAction);
JButton pasteButton = new JButton(pasteAction);

Приложение: Чтобы полностью интегрировать меню «Правка» в Mac OS X, вы должны указать операционной системе использовать ваше меню, используя один из показанных подходов.Вот, Чтобы получить зависящий от платформы ключ модификатора, используйтеgetMenuShortcutKeyMask(), как показаноВот, Наконец, Чарльз БеллHTMLDocumentEditor это пример, который используеттекстовые действия.

Error: User Rate Limit ExceededAction таким образом, одно событие может инициировать событие другого человека. Это замечательно :-)
@nIcEcOw: этоexample показывает, какforward одинActionError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Stephane Grenier
Error: User Rate Limit Exceededanswer о перемещении меню Java в строку меню Mac, и этоanwserError: User Rate Limit Exceeded

Похожие вопросы