我的JMenuBar没有显示

时间:2013-10-06 06:09:43

标签: java swing jmenu jmenubar

我似乎已经做了一切正确,但它无法展示。谁能告诉我为什么我的菜单栏没有显示?任何人都可以帮助我????

public void go() {
    frame = new JFrame("Notepad");
    //Font defaultFont = new Font("Candara", 10, 0);
    textArea = new JTextArea();
    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);
    JScrollPane tScroller = new JScrollPane(textArea);
    tScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);

    JMenuBar menu = new JMenuBar();
    JMenu file = new JMenu("File");

    JMenuItem newNote = new JMenuItem("New");
    JMenuItem openNote = new JMenuItem("Open");
    JMenuItem saveNote = new JMenuItem("Save");
    JMenuItem saveAsNote = new JMenuItem("Save as...");
    file.add(newNote);
    file.add(openNote);
    file.add(saveNote);
    file.add(saveAsNote);

    frame.setJMenuBar(menu);
    frame.getContentPane().add(BorderLayout.CENTER, tScroller); 

    frame.pack();
    frame.setSize(800,700);
    frame.setVisible(true); 
}

2 个答案:

答案 0 :(得分:2)

现在,您正在显示一个空的菜单栏。要使菜单栏正确显示,必须先将一些菜单项添加到其中。例如,

menu.add(file);

将指示菜单栏考虑“文件”菜单项,该菜单项现在应该可见。

答案 1 :(得分:1)

这是因为您没有向JMenuBar添加任何内容。

您可以按照以下方式执行此操作,

menu.add(newNote);
menu.add(openNote);
menu.add(saveNote);
menu.add(saveAsNote);

//或者根据其他答案的建议,将菜单file添加到JMenuBar

menu.add(file );