0
我在下面的代碼中獲得NullPointerException
。代碼的主要目的是在一個類中接受來自用戶的輸入,並將其傳遞給另一個類來構建GridLayout
。Java Swing GUI中的NullPointerException
這裏是我的第一個類的代碼...
public class A{
int N;
JLabel label;
JPanel panel;
JButton button;
JFrame frame;
JTextField text;
public A(){
frame=new JFrame();
panel=new JPanel();
text=new JTextField(20);
label=new JLabel("Enter the number of states");
button=new JButton("Submit");
panel.add(label);
panel.add(text);
panel.add(button);
frame.add(panel,BorderLayout.CENTER);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae){
N=Integer.parseInt(text.getText());
B1 page=new B1(N);
page.frame.setVisible(true);
}
});
frame.setSize(320,240);
frame.pack();
frame.setVisible(true);
}
public static void main(String arg[]){
A ab=new A();
}
}
這裏是我的第二個類的代碼...
public class B1 extends A {
JFrame frame;
JPanel pan;
JButton button;
double transition[][];
JTextField tf[][];
B1(int N){
this.N=N;
frame=new JFrame("Transition matrix");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pan=new JPanel();
pan.setLayout(new GridLayout(N+1,N));
for(int i=0; i<N; i++){
for(int j=0; j<N; j++){
tf[i][j]=new JTextField();
pan.add(tf[i][j]);
}
}
button=new JButton("Submit");
pan.add(button);
frame.add(pan);
frame.pack();
}
}
打印和閱讀棧TR高手。它會告訴你究竟是哪個.java源文件和行號在NPE被拋出的地方。這應該足以確定你做錯了什麼。您在使用之前未能初始化參考。 – duffymo 2012-04-18 02:38:07
'B1'中的tf [] []'未被初始化 – mshsayem 2012-04-18 02:42:26
請對代碼塊使用一致的邏輯縮進。 – 2012-04-18 04:03:50