如何为每个JButton提供10 x 10网格按钮布局中的唯一ID /名称

时间:2017-04-02 20:21:51

标签: java swing

我试图给每个JButton一个10 x 10按钮布局(所以100个按钮)每个唯一的名称或ID或号码,以便我以后可以调用它们。我创建了一个ArrayList,因为这是其他人所做的。

public ArrayList<JButton> myList;

//Some other code

        for(int row = 0; row < 10; row++)
        {
            for(int col = 0; col < 10; col++)
            {
                    button = new JButton();
                    button.addActionListener( al );
                    myList.add(button);
                    for(JButton button : myList)
                        button.setText("");
                    panel_1.add(button);
            }
        }

程序编译但不运行。它在

显示错误
myList.add(button);

显然这是一个空指针异常。

但我不知道为什么。是不是将按钮添加到ArrayList?另外,如何为每个按钮指定唯一的名称或字符串?

1 个答案:

答案 0 :(得分:1)

  

程序编译但不运行。它在

显示错误

ArrayList为null,因为您没有创建ArrayList对象。

代码应为:

private ArrayList<JButton> myList = new ArrayList<JButton>();
  

另外,如何为每个按钮指定唯一的名称或字符串?

无需为按钮指定唯一名称。其唯一名称是用于访问JButton中的ArrayList的“索引”。

您可能甚至不需要ArrayList。

通常您会在按钮上添加ActionListener。然后,您只需使用getSource()的{​​{1}}方法即可获得对该按钮的引用。