public MonthCalendar()
{
super("月历");
this.setBounds(300, 300, 250, 200);
this.setBackground(Color.WHITE);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
panel1=new JPanel(new FlowLayout(FlowLayout.CENTER));
this.getContentPane().add(panel1,"North");
button_qian = new JButton("<");
button_qian.addActionListener(this);
panel1.add(button_qian);
text_nian=new JTextField(year+"年"+month+"月",10);
text_nian.setHorizontalAlignment(JTextField.CENTER);
text_nian.setEditable(false);
panel1.add(text_nian);
button_hou = new JButton(">");
button_hou.addActionListener(this);
panel1.add(button_hou);
panel2=new JPanel();
this.getContentPane().add(panel2,"Center");
panel2.add(new JLabel("日 一 二 三 四 五 六"));
JTextField text[]=new JTextField[M];
panel3=new JPanel();
panel3.setLayout(new GridLayout(7,7));
this.getContentPane().add(panel3);
for(int i=0;i<M;i++)
{
if(i<week)
{
text[i].setText(" "); text[i].setHorizontalAlignment(JTextField.CENTER);
text[i].setEditable(false);
}
if(i>=week && i<week+days)
{
text[i].setText(" "+(i-week+1));
text[i].setHorizontalAlignment(JTextField.CENTER);
text[i].setEditable(false);
}
if(i>=week+days)
{
text[i].setText(" ");
text[i].setHorizontalAlignment(JTextField.CENTER);
text[i].setEditable(false);
}
panel3.add(text[i]);
}
actionPerformed(null);
this.setVisible(true);
}
提示指向那句红色加粗字体的代码,
Exception in thread "main" java.lang.NullPointerException
at MonthCalendar.<init>(MonthCalendar.java:58)
为啥会 出现这样的额错误啊,java中不是没有指针了么?指针异常
{
super("月历");
this.setBounds(300, 300, 250, 200);
this.setBackground(Color.WHITE);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
panel1=new JPanel(new FlowLayout(FlowLayout.CENTER));
this.getContentPane().add(panel1,"North");
button_qian = new JButton("<");
button_qian.addActionListener(this);
panel1.add(button_qian);
text_nian=new JTextField(year+"年"+month+"月",10);
text_nian.setHorizontalAlignment(JTextField.CENTER);
text_nian.setEditable(false);
panel1.add(text_nian);
button_hou = new JButton(">");
button_hou.addActionListener(this);
panel1.add(button_hou);
panel2=new JPanel();
this.getContentPane().add(panel2,"Center");
panel2.add(new JLabel("日 一 二 三 四 五 六"));
JTextField text[]=new JTextField[M];
panel3=new JPanel();
panel3.setLayout(new GridLayout(7,7));
this.getContentPane().add(panel3);
for(int i=0;i<M;i++)
{
if(i<week)
{
text[i].setText(" "); text[i].setHorizontalAlignment(JTextField.CENTER);
text[i].setEditable(false);
}
if(i>=week && i<week+days)
{
text[i].setText(" "+(i-week+1));
text[i].setHorizontalAlignment(JTextField.CENTER);
text[i].setEditable(false);
}
if(i>=week+days)
{
text[i].setText(" ");
text[i].setHorizontalAlignment(JTextField.CENTER);
text[i].setEditable(false);
}
panel3.add(text[i]);
}
actionPerformed(null);
this.setVisible(true);
}
提示指向那句红色加粗字体的代码,
Exception in thread "main" java.lang.NullPointerException
at MonthCalendar.<init>(MonthCalendar.java:58)
为啥会 出现这样的额错误啊,java中不是没有指针了么?指针异常
这句执行后,数组text的所有元素都是null. 需要给每个元素初始化。类似:
for(int i=0; i<test.length; i++)
{
test[i] = new JTextField();
}