0
我創建了一個菜單欄並添加了一個包含多個項目的菜單。當我在JMenu(archiveMenu)上執行doClick()時,它會突出顯示菜單按鈕,但不會顯示添加到其中的任何項目。在添加actionListeners到items和setVisible(true)之前,我嘗試了doClick(),但沒有任何效果。我想讓JMenu在程序啓動時顯示這些項目
我認爲這與他們有單獨的actionListeners這個事實有關,但我到目前爲止的程序更改爲單個actionListener會導致大量的工作。我感謝任何幫助,謝謝!
它看起來像這樣:
// MENU BAR
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu archiveMenu = new JMenu("Archive");
menuBar.add(archiveMenu);
JMenuItem newItem = new JMenuItem("New Map");
JMenuItem loadItem = new JMenuItem("Load places");
JMenuItem saveItem = new JMenuItem("Save");
JMenuItem exitItem = new JMenuItem("Exit");
newItem.addActionListener(new NewMapLis());
loadItem.addActionListener(new LoadLis());
saveItem.addActionListener(new SaveLis());
exitItem.addActionListener(new ExitLis());
archiveMenu.add(newItem);
archiveMenu.add(loadItem);
archiveMenu.add(saveItem);
archiveMenu.add(exitItem);
archiveMenu.doClick();
我有一個WindowListener的,但它是僅關閉程序。我添加了windowOpened,但我得到了相同的結果。 類StopLis延伸WindowAdapter的{ \t \t覆蓋 \t \t公共無效的windowClosing(WindowEvent WEV){ \t \t \t stopExecution(); \t \t} \t \t覆蓋 \t \t公共無效的windowOpened(WindowEvent E){ \t archiveMenu.doClick(); \t} \t} –
沒關係,它的工作原理。我忘記刪除位於構造函數中的以前的archiveMenu.doClick()。非常感謝你! –