我试图让我的JMenuBar显示在GUI中,但是它只是在顶部显示为1像素的线。

这是我的代码...

public LibraryView() {
    setBounds(100,100,640,480);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLayout(new BorderLayout());

    JMenuBar b1 = new JMenuBar();
    JMenu m1 = new JMenu("Test");
    JMenuItem i1 = new JMenuItem("Item1");

    this.setJMenuBar(b1);
}


有人可以帮助我了解问题所在。

最佳答案

您需要将JMenuJMenuItem添加到JMenuBar。在显示GUI之前,还需要在方法末尾pack()setVisible(true);

public LibraryView() {
    setBounds(100,100,640,480);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLayout(new BorderLayout());

    JMenuBar b1 = new JMenuBar();
    JMenu m1 = new JMenu("Test");
    JMenuItem i1 = new JMenuItem("Item1");

    m1.add(i1); // ADDED
    b1.add(m1); // ADDED

    this.setJMenuBar(b1);

    pack(); // ADDED
    setVisible(true); // MOVED
}

关于java - JMenuBar未显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10771520/

10-09 03:27