import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class Landmine extends JFrame
{
JPanel landminePanel = new JPanel();//创建地雷面板
//JButton
JPanel menuPanel = new JPanel(); //创建菜单按钮面板
JPanel topPanel = new JPanel(); //创建顶部面板
public Landmine()
{
super("扫雷");//标题
setSize(600,600);//窗口尺寸
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//最大化、最小化、关闭按钮
BorderLayout ff = new BorderLayout();//创建布局管理器
setLayout(ff);//关联布局管理器
GridLayout dd = new GridLayout(8,8);
landminePanel.setLayout(dd);
JButton [] lei = new JButton[50];
for(int i=0; i<50; ++i)
{
lei[i].setText(i+" ");
landminePanel.add(lei[i]);
}
add(landminePanel,BorderLayout.CENTER);
add(menuPanel,BorderLayout.SOUTH);
setResizable(false);//禁止最大化
setVisible(true);//显示之
}
public static void main(String[] argus)
{
Landmine Zhang = new Landmine();
}
}C:\Users\barry\Desktop>javac Landmine.javaC:\Users\barry\Desktop>java Landmine
Exception in thread "main" java.lang.NullPointerException
at Landmine.<init>(Landmine.java:26)
at Landmine.main(Landmine.java:36)
编译正确,但是不能运行,怎么改啊……我新手,有低级错误请轻砸……
我想写个扫雷程序的,但是不知道怎么用数组创建按钮
at Landmine.main(Landmine.java:36)把出错行标示出来
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class Landmine extends JFrame
{
JPanel landminePanel = new JPanel();//创建地雷面板
//JButton
JPanel menuPanel = new JPanel(); //创建菜单按钮面板
JPanel topPanel = new JPanel(); //创建顶部面板
public Landmine()
{
super("扫雷");//标题
setSize(600,600);//窗口尺寸
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//最大化、最小化、关闭按钮
BorderLayout ff = new BorderLayout();//创建布局管理器
setLayout(ff);//关联布局管理器
GridLayout dd = new GridLayout(8,8);
landminePanel.setLayout(dd);
JButton [] lei = new JButton[50];
for(int i=0; i<50; ++i)
{
lei[i].setText(i+" "); //26行,换成setLabel也是一样
landminePanel.add(lei[i]);
}
add(landminePanel,BorderLayout.CENTER);
add(menuPanel,BorderLayout.SOUTH);
setResizable(false);//禁止最大化
setVisible(true);//显示之
}
public static void main(String[] argus)
{
Landmine Zhang = new Landmine();//36行
}
}
上面这句只产生了个数组,但是里面的每一个元素并没有初始化,所以报NullPointerException,在for循环中加入一句代码,
lei[i] = new JButton();
应该就好了!