我有2个组件,它们不应该相互依赖,但应该对同一菜单有所帮助。

我想要一个名为“ ABC”的上下文菜单,它应包含2个子菜单​​,分别是“ XYZ”和“ PQR”。

创建“ XYZ”的第一个组件
和第二个合作伙伴创建“ PQR”,则应归入“ ABC”

在我实现的代码中,它显示2个“ ABC”菜单。

请帮我。

代码段:

第一部分

MenuManager showInSubMenu = new MenuManager("ABC");
showInSubMenu.add("XYZ");
menu.appendToGroup("group.open", showInSubMenu);


第二部分

MenuManager showInSubMenu = new MenuManager("ABC");
showInSubMenu.add("PQR");
menu.appendToGroup("group.open", showInSubMenu);

最佳答案

我认为您的要求和您的设计思路不符。

如果这两个组件需要在同一菜单上工作,则它们必须具有某种依赖性。

我猜您的问题是这两个组件应与同一个MenuManager实例一起使用。您会看到,您的代码正在创建两个菜单管理器。并在其中添加信息;然后您惊讶菜单两次出现?

从这个意义上讲:我看到的唯一解决方案是:退后一步,弄清楚两个组件都需要交谈的那些部分。然后创建该新组件C(代表那些公共部分);然后您的其他两个现有组件必须与该新C语言一起使用。

07-27 13:34
查看更多