这是我的代码,但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);
}
}
答案 0 :(得分:0)
您尚未将JMenuBar
添加到JFrame
,因此无法显示。将其添加到JFrame
,就像添加其他JComponent
s:)
答案 1 :(得分:0)
只需在MyFrame构造函数中调用setJMenuBar()
即可。像这样:
setJMenuBar(menuBar);
此问题与您的原始问题无关,但您应该从主要方法中删除第一个new MyFrame();
。这是不必要的,因为您已经在其下方创建了另一个GUI实例。