【发布时间】:2018-11-05 22:56:02
【问题描述】:
我有一个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++;
}
}
}
【问题讨论】:
-
还有一个
removeActionListener方法为JButton(其实为AbstractButton) -
“我如何让 JButton 只能点击一次” 当它被点击时,调用
button.setEnabled(false);这是一个比@MichaelButscher 提出的更好的解决方案——他的方法不会向用户提供提示,用户可能会不断重复激活一个按钮,不明白为什么它“坏”了。顺便说一句 - 如果这不能解决问题,请发布 minimal reproducible example 让我们更好地了解它应该如何工作。
标签: java swing user-interface jbutton