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