当前位置: 首页 > 面试题库 >

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

凌永逸
2023-03-14
问题内容

我了解您可以:

// 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非常方便,因为它们知道关注的组件。另请参阅此相关问答和示例。例如,

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

附录:要将“编辑”菜单完全集成到Mac OS X中,必须使用此处显示的一种方法,告诉操作系统使用菜单。为了获得与平台相关的组合键,使用getMenuShortcutKeyMask(),如图所示这里。最后,查尔斯·贝尔(Charles Bell HTMLDocumentEditor)的示例使用了text动作。



 类似资料:
  • 下面列出了完整的代码,我正在将数据透视表中DB10单元格的数据复制到Checklist表中的第N列--还要注意Checklist表中的行是动态的,每周增长3018行...这是减慢处理时间的部分(我对其进行了计时,在运行代码时完成处理需要大约8分钟)这部分是减慢处理速度的地方: 完整代码:

  • 请看这个截图。在正常情况下,当选择文本时,弹出菜单打开,但只有剪切/粘贴项。我想知道,如何添加项目就像这个“网页搜索/分享”到这个弹出菜单? 这个弹出菜单是什么?我曾尝试覆盖活动上下文或选项菜单,但它没有.我也尝试过扩展TextView并覆盖它的上下文菜单,但是没有用,只显示一个普通对话框上下文菜单,并且这个剪切/粘贴菜单被取消了。

  • 问题内容: 我的.emacs中有(cua-mode t),因此Cc是复制的,而Cv是粘贴的,就像桌面上的其他大多数程序(Ubuntu,Gnome,Linux)一样。但是,Emacs似乎并未与其他程序共享剪贴板/复制缓冲区。 例如,如果我在Firefox中使用Cc,则可以将SCv粘贴到终端中,或者将Cv粘贴到gedit中。但是,如果我在emacs中使用Cv(或Cy),则无法获得从Firefox复制的

  • 我可以使vim粘贴从和到系统的剪贴板?

  • 我的Android应用程序中有一个视图。我需要“内部链接”,这意味着我需要中的一些按钮或span,通过to this button,我可以执行一些操作(不重定向到网页)。我是这样用ClickableSpan()实现这个按钮的 为了让这个span可以点击,我使用了 中设置类似于< code > removeMovementMethod()的内容,用于临时禁用“链接”功能,并使用带有复制/粘贴功能的菜