1

我了解您可以:

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

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

但是我找不到任何东西来挂钩复制和粘贴菜单,这样当它被调用时,当前选定的 JTextField 会受到影响(例如,粘贴会将剪贴板粘贴到选定的 JTextField 中。

4

1 回答 1

4

与 Mac OS X 系统和应用程序菜单不同,编辑菜单完全在您的程序范围内。您必须使用适当的Action. 中定义的预定义子类javax.swing.text.TextAction很方便,因为它们知道焦点组件。另请参阅此相关问答示例。例如,

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

附录:要将您的编辑菜单完全集成到 Mac OS X 中,您必须使用此处显示的方法之一告诉操作系统使用您的菜单。要获取与平台相关的修饰键,请使用,如此getMenuShortcutKeyMask()所示。最后,Charles Bell's是一个使用文本操作的示例。HTMLDocumentEditor

于 2012-04-15T09:16:19.913 回答