将MenuContainer转换为Container

时间:2016-04-20 17:38:27

标签: java jmenu jmenuitem

我有一个Jmenu与Jmenulist。我可以使用

访问容器(JMenu)的所有组件(Jmenulist)
for (Component c : mnFile.getMenuComponents())
    {
        System.out.println(c.getName());
    }

我有另一个函数,它接收父容器(包含所有其他容器,包括JMenu)并递归执行某些操作。

for (Component c : cont.getComponents()){
/// do something
}

此函数不识别Jmenulist项,因为它们只能由getMenuComponents迭代。有什么方法可以投射物体或事先知道即将到来的Jmenu类

1 个答案:

答案 0 :(得分:1)

您可以使用java运算符instanceof来测试进入的对象是否为JMenu。

Object o = some JMenu

....

if (o instanceof JMenu) {
  JMenu menu = (Jmenu) o;
  ...
}