import javax.swing.*;
//import java.awt.event.*;
import java.awt.*;
public class MenuPanel extends JFrame{
public JTextField text;
public Label setBomb,nowBomb;
public JButton start;
public Panel menuPanel;

public MenuPanel(){
super("主框架");
Container c=getContentPane();
c.setBackground(Color.gray);
 c.setLayout(new BorderLayout());
 setBomb= new Label("设置地雷数");
 start=new JButton("开始");
 nowBomb = new Label("当前雷数");
 text=new JTextField("10 ",3);
 menuPanel.add(setBomb);
menuPanel.add(text);
menuPanel.add(start);
 menuPanel.add(nowBomb);
c.add(menuPanel,"North");
setSize(500,500);
setVisible(true);
}
public static void main(String []args){
MenuPanel test=new MenuPanel();
}
错误提示
Exception in thread "main" java.lang.NullPointerException
at MenuPanel.<init>(MenuPanel.java:19)
at MenuPanel.main(MenuPanel.java:28)
有点不明白

解决方案 »

  1.   

    这块 
    menuPanel.add(setBomb);
    menuPanel.add(text);
    menuPanel.add(start);
    menuPanel.add(nowBomb);直接
    add(setBomb);
    add(text);
    add(start);
    add(nowBomb);
    就可以了吧
      

  2.   

    不行呢,我是想把其它组件加到容器Panel中....
    不是写到JFrame中呀
      

  3.   

    你直接再FRAME中添加 panel不行么?为什么要个Container c=getContentPane();
      

  4.   

    menuPanel没有初始化吧:menuPanel=new JPanel();
    menuPanel.add(setBomb);
            menuPanel.add(text);
            menuPanel.add(start);
             menuPanel.add(nowBomb);
      

  5.   

    那就把
    menuPanel.add(setBomb); 
    menuPanel.add(text); 
    menuPanel.add(start); 
    menuPanel.add(nowBomb); 
    中的menuPanel改称c呗
      

  6.   

    空指针异常!!正如楼上所说的,menuPanel没有初始化!!!!!正解