0

我正在尝试在 java 上制作幻灯片拼图。现在我有一个小问题。我想知道我单击的按钮的索引,它位于ArrayList.

ArrayList<JButton>按钮,包含许多s,我在JButton每个按钮中添加了一个 ActionListener,然后再将其放入 thisArrayList中。

我究竟做错了什么?

这是一些代码作为参考:

public void actionPerformed(ActionEvent ae)
{
    if (buttons.contains(ae.getSource()) == true)
    {
        int click = buttons.indexOf(ae.getSource()); // <--- What's wrong with this?

        System.out.println(click);  /* I checked the index I got by printing 
                                       it out as a test, and it always gives 
                                       me the Integer '0', even if I clicked 
                                       the 9th Button for example. */
    }
    else
    {
        System.out.println("No click");
    }
}
4

1 回答 1

0

您可能想要做的是在每个按钮上设置一个客户端属性:

JButton one = new JButton("1");
one.putClientProperty("Which", new Integer(1));

然后在动作监听用户中:

JButton button = ae.getSource();
int value = button.getClientProperty("Which").intValue();

你必须添加一些演员表和一些错误检查,但这就是它的要点......

于 2013-04-30T21:45:45.033 回答