2011-01-29 51 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