我构建了一个JMenu,现在想要添加菜单项。所以我拥有的是:
现在,添加菜单项触发动作动作:如果我使用
,它会有所不同吗?jm.add(act);
或
jm.add(new JMenuItem(act));
答案 0 :(得分:1)
根据JMenu.add(Action)的文档,它会为您创建一个新的菜单项,因此它们基本相同。所以这最终是一种方便的方法。
但是,它还指出:
从1.3开始,这不再是了 添加动作的首选方法 一个容器。相反,建议 使用操作配置控件 使用setAction,然后添加 直接控制Container。
如果我们查看JMenu的源代码(从Google Code Search检索),这就是add(Action)
方法的样子:
public JMenuItem add(Action a) {
JMenuItem mi = createActionComponent(a);
mi.setAction(a);
add(mi);
return mi;
}
所以不,没有太大的区别。但我仍然会通过手动制作控件来遵循文档的建议。