首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用循环( JButton )在JPanel中添加JButton?

使用循环( JButton )在JPanel中添加JButton?
EN

Stack Overflow用户
提问于 2013-06-02 23:20:14
回答 1查看 1.2K关注 0票数 1

我可以逐个添加,但不能在for循环中添加。

我没有得到任何错误,只有在编译的时候;

代码语言:javascript
复制
"Exception in thread "main" java.lang.NullPointerException
at Allo.<init>(Allo.java:38)
at Allo.main(Allo.java:55)"

代码如下:

代码语言:javascript
复制
import javax.swing.JFrame;
import java.awt.GridLayout;
import javax.swing.JPanel;
import javax.swing.SpringLayout;
import java.awt.Color;
import javax.swing.JButton;  

public class Allo {    

  JFrame fenetre = new JFrame();
  static JButton[][] bouton; 

  public Allo(int width, int height) {    
     fenetre.setSize(800, 500);
     fenetre.setResizable(false);
     SpringLayout springLayout = new SpringLayout();
     fenetre.getContentPane().setLayout(springLayout);    
     JPanel panel = new JPanel();
     panel.setBackground(Color.DARK_GRAY);    
     fenetre.getContentPane().add(panel);
     SpringLayout sl_panel = new SpringLayout();
     panel.setLayout(sl_panel);
     for (int r = 0; r < 16; r++)
     {
        for (int c = 0; c < 8; c++)
        {    
           bouton[r][c] = new JButton("("+r+","+c+")");   
           panel.add(bouton[r][c]);    
           //fenetre.getContentPane().add(bouton[r][c]);
        }
     }
     fenetre.setVisible(true);
   }    

    public static void main(String[] args) {
    // TODO Auto-generated method stub
       new Allo(16,8);   
   }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-02 23:23:03

您还没有初始化您的按钮数组,所以下面这行代码抛出了异常:

代码语言:javascript
复制
bouton[r][c] = new JButton("("+r+","+c+")");  

您的代码缺少以下行:

代码语言:javascript
复制
bouton = new JButton[16][8];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16884173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档