我写的代码没有显示菜单栏,知道我应该怎么做吗?
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//What happens on close.
this.setSize(1100, 750);//Initial size of the frame.
menuBar = new MenuBar();
east = new EastPanel();
central = new CentralPanel();
south = new SouthPanel();
//Add the menu bar to the frame.
this.setJMenuBar(menuBar.getComposition());
//Frame's other components.
this.add(central.getCentralPanel());
//this.add(msBoard.getMessagesBoard(), BorderLayout.SOUTH);
this.add(east.getEastPanel(), BorderLayout.EAST);
this.add(south.getSouthPanel(), BorderLayout.SOUTH);
//this.add(menuBar);
//Load the card images.
//cards = new CardImages();
//cards.loadCards();
//Initialize cardsPerPlayer list.
//cardsPerPlayer = new ArrayList<ImagePanel>();
this.setVisible(true);
其中 getComposition 是
public JMenuBar getComposition(){
return this.Composition;
}
和组合是私有的JMenuBar
添加MenuBar
是不够的。您应该将其附加到当前JFrame
对象.
还要确保在其中添加一些菜单项。
例:
frame.setJMenuBar(theJMenuBar);
可能是因为您没有向此menubar
添加任何内容。
在日食中,当我添加菜单栏(使用构建器)而没有任何项目时,我没有看到它,但是在我将菜单添加到菜单栏后,它将起作用。