addMouseListener到arraylist中的标签

时间:2015-05-21 18:05:41

标签: java mouseevent

这是我在这里的第一篇文章,我已经尝试搜索现有主题,但无法找到与数组列表有关的任何内容。

我需要将addMouseListeners设置为if user_account[1]['CPF'] is None: plpy.debug("It hasn't CPF") 中生成的所有jlabels

有两个数组ArrayListsmLabelList。它们包含两种类型的JLabel,lrLabelListsmBay - 使用for循环生成并添加到我的面板中。

第一个问题是,向列表中的对象添加动作侦听器的最佳方法是什么?

第二个是,getSource()== smBay还是smLabelList数组?

非常感谢 - 我今年刚接触java,只学了几个月。

lrBay

1 个答案:

答案 0 :(得分:0)

我能想到添加动作侦听器的最佳方法是,如果每个标签都有不同的动作侦听器,请手动执行,或者如果每个标签都有相同的侦听器,则在循环中执行。

for (JLabel label : smLabelList)
{
    label.addActionListener(myActionListener);
}
for (JLabel label : lrLabelList)
{
    label.addActionListener(myActionListener);
}

至于你的第二个问题,getSource()返回生成动作的对象,它将是标签本身,而不是数组。标签不知道它在一个数组中,因此它无法在第一时间返回该数组。