Java 如何检索添加到JMenu的组件数?

Java 如何检索添加到JMenu的组件数?,java,swing,junit,assert,Java,Swing,Junit,Assert,我做了一个小测试,在第二个测试中,我得到了一个断言错误(0而不是1): 知道为什么会发生这种情况吗?之所以会发生这种情况,是因为菜单项实际上没有添加到JMenu本身,而是在内部添加到弹出菜单中,实际上没有添加到菜单中 我想您会想使用,它“返回菜单上的项目数,包括分隔符”,或者,最好是,谢谢,我从未遇到过这样的机制。 package tests; import static org.junit.Assert.*; import org.junit.Test; import javax.swing

我做了一个小测试,在第二个测试中,我得到了一个断言错误(0而不是1):


知道为什么会发生这种情况吗?

之所以会发生这种情况,是因为菜单项实际上没有添加到
JMenu
本身,而是在内部添加到弹出菜单中,实际上没有添加到菜单中


我想您会想使用,它“返回菜单上的项目数,包括分隔符”,或者,最好是,

谢谢,我从未遇到过这样的机制。
package tests;

import static org.junit.Assert.*;
import org.junit.Test;
import javax.swing.*;

public class MenuTest {

    @Test
    public void testElementsAddition() {
        JMenuItem mItem1 = new JMenuItem();
        JMenuItem mItem2 = new JMenuItem();
        JMenu menu = new JMenu();

        mItem1.add(mItem2);
        assertEquals(1, mItem1.getComponentCount());

        menu.add(mItem1);
        assertEquals(1, menu.getComponentCount());
    }
}