Java 如何为10 x 10网格按钮布局中的每个JButton指定唯一的ID/名称
我试图从10 x 10按钮布局(100个按钮)中为每个JButton指定唯一的名称、ID或号码,以便稍后调用它们。我做了一个ArrayList,因为其他人就是这么做的Java 如何为10 x 10网格按钮布局中的每个JButton指定唯一的ID/名称,java,swing,Java,Swing,我试图从10 x 10按钮布局(100个按钮)中为每个JButton指定唯一的名称、ID或号码,以便稍后调用它们。我做了一个ArrayList,因为其他人就是这么做的 public ArrayList<JButton> myList; //Some other code for(int row = 0; row < 10; row++) { for(int col = 0; col < 10; col++)
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);
}
}
这显然是一个空指针异常
但我不知道为什么。它不是在ArrayList中添加按钮吗?另外,如何为每个按钮指定唯一的名称或字符串
程序可以编译,但不能运行。它在显示错误
myList.add(button);
ArrayList为null,因为您没有创建ArrayList对象
代码应为:
private ArrayList<JButton> myList = new ArrayList<JButton>();
private ArrayList myList=new ArrayList();
另外,如何为每个按钮指定唯一的名称或字符串
不需要为按钮指定唯一的名称。它的唯一名称是“索引”,用于访问ArrayList
中的JButton
你甚至不需要ArrayList
通常,您会在按钮中添加一个
ActionListener
。然后,您可以使用ActionEvent
的getSource()
方法来获取对按钮的引用。它在
处显示错误-我们(并不总是)读心术。当你问问题时,告诉我们错误。不要指望我们猜。@camickr它显示一个空指针异常。我认为这是因为没有制作ArrayList。(1-我认为这是因为没有制作ArrayList。
-那么如果你知道问题出在哪里,为什么要问问题???解决问题@camickr我不确定该死,我不知道它是不是被创造出来的。无论如何,我只是在发现这是一个空指针异常之后才发现。JButton@#setActionCommand
?但是,如果愿意,可以使用button.setName()为每个按钮指定一个名称。例如,名称可以是“Row=3 Column=5”。请注意,这与button.setText()设置的按钮中显示的文本不同。@FredK,这与我的建议无关。请删除评论。如果您认为这是解决方案,请添加您自己的答案或对问题添加评论。