如何使JButton仅可单击一次,而又不增加后续点击的次数?

时间:2018-11-05 22:56:02

标签: java swing user-interface jbutton

我有一个JButton控件的网格,单击一个按钮将显示一个数字。单击的前7个按钮将为黄色,第8个按钮将为绿色。我通过使用“计数”来做到这一点。但是,我目前遇到的问题是,我单击同一按钮后仍然会增加计数,到第8次单击,该按钮将从黄色变为绿色。

我在下面附加了我的动作侦听器方法:

@Override
public void actionPerformed (ActionEvent event)
{
    for (int i = 0; i < totalButton; i++)
    {
        if (event.getSource() == jbArray[i])
        {
            jbArray[i].setText (String.format("%d", alist.get(i)));

            if (count == 8)
            {
                jbArray[i].setBackground (Color.GREEN);
            }
            else if (count < 8)
            {
                jbArray[i].setBackground (Color.YELLOW);
            }
            count++;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

似乎您有一系列按钮。您将需要某种方式来跟踪单击了哪个jButton。您可以创建另一个名为clicked []的数组,并存储单击了哪个按钮。然后,您可以遍历数组以查看单击的数字是否与当前按钮匹配。如果它不在第二个列表中,请运行您的颜色更改代码,然后将其添加到clicked []数组中。    这只是一个示例,当然还有其他方法,其目的是跟踪已单击的内容,并且仅在显示未单击按钮时才执行换色器。