现在有一个场景,在菜单栏的菜单中与界面的右键弹出菜单中添加同一个菜单项.
以方便控制此菜单项的状态(Enable/Visible)时,在两个菜单中都能同时体现. 但是Java 的Container机制中,一个组件对象只能添加到一个容器中.
在往另一个容器中添加此组件对象时,会从前面持有此组件的父组件中将此组件对象移除掉. 请问有没有办法能做到在两个容器中同时持有同一组件的办法呢?
以方便控制此菜单项的状态(Enable/Visible)时,在两个菜单中都能同时体现. 但是Java 的Container机制中,一个组件对象只能添加到一个容器中.
在往另一个容器中添加此组件对象时,会从前面持有此组件的父组件中将此组件对象移除掉. 请问有没有办法能做到在两个容器中同时持有同一组件的办法呢?
public javax.swing.JMenuItem add(javax.swing.Action);
楼上的方法现在也不能满足我这个需求.
add(Action) 会自动创建一个新的JMenuItem,这样在控制菜单项的Enable状态时能做到同步,
但是如果设置菜单栏中或者弹出菜单中的菜单项的Visible状态时,只能更新其中一个菜单项的状态.另一个是控制不到的.这个就需要多余的操作了.
我以前做这个直接COPY了一组菜单项放进弹出菜单,把两份对象扔进一个向量一起管理的.
菜鸟思路,请高手指教