1
我构建了一个JMenu的,现在想添加菜单项所以我有什么是:JMenu的:添加(行动一)与加(新的JMenuItem(Action a)该
- JMenu的JM
- 行动行动
现在,添加菜单项触发动作的行为:是否有所作为,如果我用
jm.add(act);
或
jm.add(new JMenuItem(act));
?
我构建了一个JMenu的,现在想添加菜单项所以我有什么是:JMenu的:添加(行动一)与加(新的JMenuItem(Action a)该
现在,添加菜单项触发动作的行为:是否有所作为,如果我用
jm.add(act);
或
jm.add(new JMenuItem(act));
?
根据JMenu.add(Action)的文档,它会为您创建一个新的菜单项,所以它们基本相同。所以它最终是一种方便的方法。
然而,它也规定:
作为1.3,这是不再添加操作到 容器中的 优选方法。相反,建议使用 使用setAction配置动作为 的控件,然后将该控件直接添加到容器。
如果我们看看在JMenu的源代码(从Google Code Search检索),这是add(Action)
方法是什么样子:
public JMenuItem add(Action a) {
JMenuItem mi = createActionComponent(a);
mi.setAction(a);
add(mi);
return mi;
}
因此,没有,没有大的差别。但我仍然通过手动制作控件来遵循文档的建议。
有没有人有关于为什么第一个选项不再是首选方法的信息?我试图通过谷歌找到解释,但不能。既然它在内部确实建议明确做什么,在这种情况下增加冗长度的优势在哪里呢? (对不起,如果这个问题的答案对其他人都是显而易见的,但我 - 我仍然是一个编程新手,试图学习。) – steps 2011-02-02 15:52:18