问题出在哪啊?
import java.awt.*;import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class JiShiBen extends JFrame {
JTextField showDay[];
JiShiBen() {
this.setTitle("日记本");
this.setDefaultCloseOperation(3);
this.setLayout(null);
this.setResizable(false);
this.setBounds(100,100,600,440);
init();
this.setVisible(true);
}
void init() {
for(int i=0; i<6; i++) {
for(int j=0; j<7; j++) {
int num = 0;
showDay[num] = new JTextField();
showDay[num].setBounds(10+22*j,220+23*i,20,20);
num++;
}
}
for(int i=0; i<42;i++) {
add(showDay[i]);
}
}
public static void main (String[] args) {
new JiShiBen();
}
}
运行出现:
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at JiShiBen.<init>(JiShiBen.java:79)
at JiShiBen.main(JiShiBen.java:18)
--------------------编程问答--------------------
--------------------编程问答-------------------- JTextField showDay[];
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class JiShiBen extends JFrame {
JTextField showDay[] = new JTextField[42]; //你的数组没初始化
JiShiBen() {
this.setTitle("日记本");
this.setDefaultCloseOperation(3);
this.setLayout(null);
this.setResizable(false);
this.setBounds(100, 100, 600, 440);
init();
this.setVisible(true);
}
void init() {
int num = 0;
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 7; j++) {
//num的定义不该放这里,放上面
showDay[num] = new JTextField();
showDay[num].setBounds(10 + 22 * j, 220 + 23 * i, 20, 20);
num++;
}
}
for (int i = 0; i < 42; i++) {
add(showDay[i]);
}
}
public static void main(String[] args) {
new JiShiBen();
}
}
showDay没初始化
JTextField showDay[] = new JTextField[42]; --------------------编程问答--------------------
弄的什么记事本,真搞笑 --------------------编程问答-------------------- 我刚开始初始化了,就是那 num 的位置没放好啊,谢谢你啊。。。。高手啊!!!!
补充:Java , Java SE