我的菜单为什么显示不出来?
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class mainFrame extends JFrame implements ActionListener{
JMenuItem priorgame ;
JMenuItem nextgame ;
JMenuItem undo ;
JMenuItem exit ;
JMenuBar menu;
MyPanel p;
public mainFrame() {
super("汽车IQ v2.0");
setSize(440, 440);
setVisible(true);
setResizable(false);
setLocation(300, 20);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cont = getContentPane();
cont.setLayout(null);
cont.setBackground(Color.black);
JMenu game = new JMenu("游戏");
priorgame = game.add("上一关");
nextgame = game.add("下一关");
undo = game.add("撤销");
exit = game.add("退出");
JMenu help = new JMenu("帮助");
JMenuBar menu = new JMenuBar();
menu.add(game);
menu.add(help);
setJMenuBar(menu);
priorgame.addActionListener(this);
nextgame.addActionListener(this);
undo.addActionListener(this);
exit.addActionListener(this);
p=new MyPanel(); //使用线程刷新,这引起的吗
add(p);
}
//菜单事件
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==nextgame)//下一关
{
p.nextGrade();
}
else if(e.getSource()==priorgame)//上一关
{
p.priorGrade();
}
else if(e.getSource()==undo)//撤销
{
p.undo();
}
else if(e.getSource()==exit)//退出
{
System.exit(0); // 退出程序
}
}
public static void main(String[] args) {
mainFrame frame = new mainFrame();
}
}