JMenuBar 不显示



我正试图创建一个菜单栏,但由于某种原因,它没有出现。谷歌的研究也于事无补。我把setVisible(true)放在最后,我把菜单栏添加到窗口中,我也把菜单点添加到栏中。然而,它仍然没有出现。

public MusicPlayerGUI(){
setLayout(null);

getContentPane().setBackground(Color.green);
setTitle("MusicPlayer");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(600,700);

initComponent();
add(bar);
add(edit);
add(show);
add(createPlaylist);
add(addSong);
add(all);
add(genre);
add(rock);
add(indie);
add(playlists);

setVisible(true);
}

public void initComponent() {
//Menubar
bar = new JMenuBar();
setJMenuBar(bar);
edit = new JMenu("Edit");
bar.add(edit);
show = new JMenu("Show");
bar.add(show);
createPlaylist = new JMenuItem("Create new Playlist");
edit.add(createPlaylist);
addSong = new JMenuItem("Add new Song");
edit.add(addSong);
all = new JMenuItem("All");
show.add(all);
genre = new JMenuItem("Genre");
show.add(genre);
rock = new JMenuItem("Rock");
genre.add(rock);
indie = new JMenuItem("Indie");
genre.add(indie);
playlists = new JMenuItem("Playlists");
show.add(playlists);


}

在initComponent((中使用:

setJMenuBar(bar);

这是正确的。

但在构造函数中,您尝试添加";条";再次到帧:

initComponent();
add(bar); // delete this line

这将从框架的重置区域中删除菜单栏。因为你使用的是空布局;条";默认情况下,大小为(0,0(,没有可绘制的内容。

  1. 一个组件只能有一个父级,不要尝试添加两次该组件。

  2. 不要使用空布局。Swing设计用于布局管理器。

相关内容

  • 没有找到相关文章

最新更新