gpt4 book ai didi

java - 如何捕获一组循环生成的 JToggleButton 的点击量?

转载 作者:行者123 更新时间:2023-11-29 07:40:43 26 4
gpt4 key购买 nike

我有 20 个循环生成的 JToggleButtons,我需要计算其中有多少是 Activity 的。

private void generarBotones(){    
JToggleButton b;
this.panelCuerpo.setLayout(new GridLayout(4,5));
for(int i = 1; i<=20; i++){
b = new JToggleButton();
b.setText(String.valueOf(i));
this.panelCuerpo.add(b);
b.addActionListener(new ActionListener() {
int clicks = 0;
@Override
public void actionPerformed(ActionEvent ae2){
clicks = clicks + 1;
System.out.println(clicks);
}
public void setCantidadBoletas(int clicks){
cantidadBoletas = clicks;
}
});
}
}

这里的问题是它计算的是它们中的每一个被点击的次数,而不是计算它们被选中的次数。

附言。我尝试使用 (b.isSelected())b 需要 final 才能访问它,所以这不是解决方案。

最佳答案

如果您在循环内声明JToggleButton,您可以使其成为final:

for (int i = 1; i<=20; i++) {
JToggleButton b = new JToggleButton();

然后你可以使用b.isSelected:

    b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (b.isSelected())
clicks++;
else
clicks--;
}
});
}

clicks 必须是类变量。

关于java - 如何捕获一组循环生成的 JToggleButton 的点击量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30547764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com