CoderQ 2010-12-29 13:36
浏览 308
已采纳

Exception in thread "main" java.lang.NullPointerException

import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JFrame;

public class CMain {
public static void main(String[] args) {
JFrame frame = new CMainFrame();
frame.setVisible(true);
}
}

class CMainFrame extends JFrame
{
private JPanel _ButtonPanel;
public CMainFrame(){
setTitle("小秘书");
setSize(800, 600);
setLayout(null);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
_ButtonPanel = new CButtonPanel();
_ButtonPanel.setBounds(10,10, 350, 580);
add(_ButtonPanel);
//for (int i=0 ,iLeft=10, iTop=10;iLeft<300;iLeft+=140, iTop+=145){

    //}
}

}

class CButtonPanel extends JPanel
{
private JButton[] _MainButtons;
private String[] _MainButtonTitles = {"收支管理", "备忘录", "收支管理", "收支管理", "收支管理", "收支管理", "收支管理", "收支管理", "收支管理", "收支管理", "收支管理", "退出系统"};
private int iButtonWidth = 80;
private int iButtonHeight = 50;
public CButtonPanel(){
setLayout(null);
_MainButtons = new JButton[12];
//CMainButtons=new JButton[1];
//CMainButtons[0] = new JButton();
//CMainButtons[0].setLayout(null);
for (int i=0,iLeft=0,iTop=0;i<12;i++){
if (i%2==0) iLeft=0;
else iLeft=iButtonWidth*5/4;
System.out.println(_MainButtons[i]);
_MainButtons[i].setText(_MainButtonTitles[i]);
//_MainButtons[i].setBounds(iLeft, iTop+i/2*(iButtonHeight*5/4), 80, 50);
//add(_MainButtons[i]);
}
//_MainButtons[0].setBounds(0, 0, iButtonWidth, iButtonHeight);
//CMainButtons[0].setBorder(new EmptyBorder(10, 10, 10, 10));
}
}
/*class CMainButton extends JButton
{
public CMainButton(String sBtnName, int iLeft, int iTop, int iWidth, iHeight){
setTitle(sBtnName);
}
}*/

总是报标题那个错 发现只要执行跟_MainButtons[i]有关的操作就会报 可是我已经初始化了呀 为什么?

  • 写回答

4条回答 默认 最新

  • 勤劳的小猿 2010-12-29 13:47
    关注

    我看了一下你的代码_MainButtons 变量你从声明后就只MainButtons = new JButton[12];
    在就没有实际用到了 而你每_MainButtons[i]一次所代表的是一个对象 可先你的_MainButtons数组中是空的 只给了长度 然后你去找其中对象的方法这个可能找到吗? 必须报错啊。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 我这模型写的不对吗?为什么lingo解出来的下面影子价格这一溜少一个变量
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波