2011-01-29 30 views

回答

1

根据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; 
} 

因此,没有,没有大的差别。但我仍然通过手动制作控件来遵循文档的建议。

+0

有没有人有关于为什么第一个选项不再是首选方法的信息?我试图通过谷歌找到解释,但不能。既然它在内部确实建议明确做什么,在这种情况下增加冗长度的优势在哪里呢? (对不起,如果这个问题的答案对其他人都是显而易见的,但我 - 我仍然是一个编程新手,试图学习。) – steps 2011-02-02 15:52:18