【发布时间】:2016-01-14 10:48:41
【问题描述】:
我想将 Cut / Copy / Paste 项目添加到我的上下文菜单中,我已经在我的 JTree 控件中可用。
我希望这些操作仅用于启动默认操作“剪切”、“复制”、“粘贴”操作,这些操作已由默认 JTree 实现,并尽可能少地使用样板代码。我已经检查了动作在树上的 ActionMap 中是否可用,我可以执行 getActionMap().get("cut") 来获取相应的动作,但我不知道如何进行 - 有一个名为 SwingUtilities.notifyAction 的方法(这在处理树中的默认键绑定时使用),但是这种方法需要一些我没有准备好的参数值。
我希望代码可能有点像这样,只需要使用不同的方法而不是 notifyAction,或者可能会为缺少的参数构造一些合理的值:
Action action = tree.getActionMap().get("cut");
if (action != null) {
SwingUtilities.notifyAction(action);
}
【问题讨论】:
-
查看 Vineet Kosaraju 的回答:stackoverflow.com/questions/20343716/…
-
@ManojVadehra 感谢您的努力,但这对于目的而言显然过于冗长。我无意实现剪贴板操作,它们已经在容器中实现了,我只是想触发或调用现有的实现。
-
new JMenuItem(action)Action 和JMenuItem。你可能会发现你需要为按钮提供文本,但看看它会把你带到哪里