tangguo

Java-如何挂接到Mac OS上的“复制和粘贴”菜单

java

我了解您可以:

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

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

但是我找不到钩住复制和粘贴菜单的任何内容,因此在调用复制和粘贴菜单时,当前选择的JTextField将受到影响(例如,粘贴会将剪贴板粘贴到所选的JTextField中。


阅读 325

收藏
2020-11-30

共1个答案

小编典典

与Mac OS X的“系统和应用程序”菜单不同,“编辑”菜单完全在程序的权限范围内。您必须使用approariate创建并填充它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 HTMLDocumentEditor)的示例使用了text动作。

2020-11-30