我了解您可以:
// Where CustomMacOSXController implements implements MRJAboutHandler, ... CustomMacOSXController macOSXController = new CustomMacOSXController() MRJApplicationUtils.registerAboutHandler(macOSXController); MRJApplicationUtils.registerPrefsHandler(macOSXController); //... and so on
但是我找不到钩住复制和粘贴菜单的任何内容,因此在调用复制和粘贴菜单时,当前选择的JTextField将受到影响(例如,粘贴会将剪贴板粘贴到所选的JTextField中。
与Mac OS X的“系统和应用程序”菜单不同,“编辑”菜单完全在程序的权限范围内。您必须使用approariate创建并填充它Action。中定义的预定义子类javax.swing.text.TextAction非常方便,因为它们知道关注的组件。另请参阅此相关问答和示例。例如,
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 HTMLDocumentEditor)的示例使用了text动作。