java - 将 MenuContainer 转换为 Container

标签 java jmenu jmenuitem

我有一个带有 Jmenulist 的 Jmenu。我可以使用访问容器(JMenu)的所有组件(Jmenulist)

for (Component c : mnFile.getMenuComponents())
    {
        System.out.println(c.getName());
    }

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

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

此函数不识别 Jmenulist 项目,因为它们只能通过 getMenuComponents 进行迭代。有什么方法可以转换对象或事先知道它即将到来的 Jmenu 类

最佳答案

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

Object o = some JMenu

....

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

关于java - 将 MenuContainer 转换为 Container,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36751260/

相关文章:

Java 类 : limit instance variable to one of several possible values, 取决于其他实例变量

java - 如何使 JMenu 在 JMenuBar 中具有按钮行为

java - 如何使 JMenu 项在单击时执行某些操作

java - java中jmenu项的setAccelerator

java - Swing - 打开窗口的菜单

java - 在 JPopupMenu 中创建 JMenuItems 的快捷方式

java - 如何将主类中的TCP连接变量传递给另一个JFrame类?

java - 为 geckodriver 设置自定义 FireFox 位置

java - 解释句子并转换成相应的格式

java - 从 JMenuItem 中删除