我正在写一个程序,我遇到了一个问题......
我创建了 1 个 JLabel 数组和 1 个 JButton 数组。JLabel 数组包含一个字符串,即俱乐部名称。JButton 数组包含一个仅显示“编辑”的字符串。
For 循环然后根据 clubs 数组的长度填充每个数组,并为每个按钮添加一个动作侦听器。
当用户单击与 JLabel 对应的 JButton 时,它会启动一个事件。在这种情况下,我需要找出与 JButton 匹配的 JLabel 中存储的值。
由于事件侦听器不知道它在循环中,因此我无法使用它。
如何实现我想要的目标?
请参阅下面的代码。
JLabel clubs[] = new JLabel[99];
JButton editAClub[] = new JButton[99];
for(int i=0; i <= (allClubs.length - 1);i++)
{
clubs[i] = new JLabel("Club " + i);
editAClub[i] = new JButton("Edit");
editAClub[i].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
selectedClub = clubs[i].getText().toString();
System.out.println(selectedClub);
}
});
}