我试图给每个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?另外,如何为每个按钮指定唯一的名称或字符串?
答案 0 :(得分:1)
程序编译但不运行。它在
显示错误
ArrayList为null,因为您没有创建ArrayList对象。
代码应为:
private ArrayList<JButton> myList = new ArrayList<JButton>();
另外,如何为每个按钮指定唯一的名称或字符串?
无需为按钮指定唯一名称。其唯一名称是用于访问JButton
中的ArrayList
的“索引”。
您可能甚至不需要ArrayList。
通常您会在按钮上添加ActionListener
。然后,您只需使用getSource()
的{{1}}方法即可获得对该按钮的引用。