如何使用按钮成功添加MenuBar?

时间:2014-05-04 07:38:06

标签: java menu

这是我的代码,但MenuBar拒绝显示。如何添加菜单栏以使其上拉?唯一出现的是按钮。如果我添加一些东西,框架将拒绝显示菜单。请事先告诉我,我做错了什么。

import javax.swing.*;
    import java.awt.*;
    import java.awt.FlowLayout;
    import java.awt.event.ActionListener;
    import java.awt.event.*;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;


    public class MyFrame extends JFrame implements ActionListener {


    public MyFrame() {

      JFrame frame = new JFrame("MyFrame");


            this.getContentPane().setLayout(new FlowLayout());



            JButton ExitBtn = new JButton();

            ExitBtn.setText("Exit");
            ExitBtn.addActionListener(this);
            JButton Find = new JButton("Find");
            JButton Clear = new JButton("Clear");
            // add buttons to frame

            add(ExitBtn);

            add(Find);
            add(Clear);



     JMenuBar menuBar = new JMenuBar();
           JMenu menu = new JMenu("Menu");
            menuBar.add(menu);
            JMenuItem item = new JMenuItem("Exit");
            menu.add(item);


        }

    public void actionPerformed(ActionEvent e){
    System.exit(0);
    //ExitBtn.addActionListener(this);

    }

    public static void main(String[] args) {
    new MyFrame();
    MyFrame mf = new MyFrame();
    mf.pack();
    mf.setSize(800, 650);
    mf.setVisible(true);
    mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
    }

2 个答案:

答案 0 :(得分:0)

您尚未将JMenuBar添加到JFrame,因此无法显示。将其添加到JFrame,就像添加其他JComponent s:)

一样

答案 1 :(得分:0)

只需在MyFrame构造函数中调用setJMenuBar()即可。像这样:

setJMenuBar(menuBar);

此问题与您的原始问题无关,但您应该从主要方法中删除第一个new MyFrame();。这是不必要的,因为您已经在其下方创建了另一个GUI实例。