Java 我希望JMenu在程序启动时显示项目

Java 我希望JMenu在程序启动时显示项目,java,Java,我创建了一个菜单栏,并添加了一个包含多个项目的菜单。当我在JMenu(archiveMenu)上执行doClick()时,它会突出显示菜单的按钮,但不会显示添加到其中的任何项目。在将actionListeners添加到items和setVisible(true)之前,我尝试过执行doClick(),但没有任何效果 我认为这与他们有独立的actionListener这一事实有关,但我对这个程序的了解还很深,如果换成一个actionListener,将会导致大量的工作。谢谢你的帮助,谢谢 看起来是这

我创建了一个菜单栏,并添加了一个包含多个项目的菜单。当我在JMenu(archiveMenu)上执行doClick()时,它会突出显示菜单的按钮,但不会显示添加到其中的任何项目。在将actionListeners添加到items和setVisible(true)之前,我尝试过执行doClick(),但没有任何效果

我认为这与他们有独立的actionListener这一事实有关,但我对这个程序的了解还很深,如果换成一个actionListener,将会导致大量的工作。谢谢你的帮助,谢谢

看起来是这样的:


当调用
doClick()
时,窗口尚未完全加载

您需要在加载后执行此操作

例如,打开框架时可以调用它:

myFrame.addWindowListener(new WindowAdapter() {
    @Override
    public void windowOpened(WindowEvent e) {
        archiveMenu.doClick();
    }

});

我有一个windowListener,但它只用于关闭程序。我添加了同样打开的窗口,但得到了相同的结果。类StopLis扩展了WindowAdapter{覆盖公共无效窗口关闭(WindowEvent wev){停止执行();}覆盖公共无效窗口打开(WindowEvent e){archiveMenu.doClick();}}}不管怎样,它都可以工作。我忘了删除构造函数中以前的archiveMenu.doClick()。非常感谢你!
myFrame.addWindowListener(new WindowAdapter() {
    @Override
    public void windowOpened(WindowEvent e) {
        archiveMenu.doClick();
    }

});