2013-03-17 48 views
2

我一直在得到这些错误,我无法弄清楚原因。我知道它与按钮有关,但我不知道如何解决它们。Java中的线程“AWT-EventQueue-0”帮助中的异常

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
    at java.awt.Container.addImpl(Container.java:1090) 
    at java.awt.Container.add(Container.java:410) 
    at LightsChasingSolver.<init>(LightsChasingSolver.java:45) 
    at LightsChasingUI$2.actionPerformed(LightsChasingUI.java:153) 

这里是我的代码

final JFrame frame2 = new JFrame("Lights Chasing Solver"); 
GridLayout gridLay = new GridLayout(2,1); 
GridLayout grid = new GridLayout(5,5); 
JPanel mainPanel = new JPanel(grid);   
JPanel legendPanel = new JPanel(); 

final JButton[][] sht = new JButton[5][5]; 

for(i=0;i<5;i++){ 
    for(j=0;j<5; j++) mainPanel.add(sht[i][j]); 
} 

回答

2

你的按钮的阵列中的每个元素为null。您不能将空组件添加到容器。

for(int i = 0; i < 5; i++) { 
    for(int j = 0; j < 5; j++) { 
     sht[i][j] = new JButton("Hello"); // add this line 
     mainPanel.add(sht[i][j]); 
    } 
} 
+0

哦。所以这就是问题所在。完全工作。谢谢。哦原谅我的变数名称,我有点沮丧 – 2013-03-17 16:19:50