我有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语言一起使用。