JPanel 中有 12 个 JButton。我想单击其中一个并禁用所有其他(它将被“突出显示”)。然后,如果我点击一个禁用的,那么前一个被禁用并且过程是相同的。考虑到有 12 个按钮并且我想避免重复代码,我想使用迭代和自定义方法来做到这一点。
考虑已经声明了 12 个 JButton。然后我们创建一个 JButton 的 ArrayList 来存储它们,并创建一个布尔值的 ArrayList 来存储它们的启用布尔值:
ArrayList<JButton> arrayOfButtons = new ArrayList<JButton>();
ArrayList<Boolean> arrayOfBooleans = new ArrayList<Boolean>();
我们将所有按钮添加到 arrayOfButtons:
arrayOfButtons.add(btn1);
arrayOfButtons.add(btn2);
arrayOfButtons.add(btn3);
arrayOfButtons.add(btn4);
arrayOfButtons.add(btn5);
arrayOfButtons.add(btn6);
arrayOfButtons.add(btn7);
arrayOfButtons.add(btn8);
arrayOfButtons.add(btn9);
arrayOfButtons.add(btn10);
arrayOfButtons.add(btn11);
arrayOfButtons.add(btn12);
然后我们通过遍历 arrayOfButtons 将它们的启用状态存储在 arrayOfBooleans 中:
for (int i = 0; i < arrayOfButtons.size(); i++) {
arrayOfBooleans.add(arrayOfButtons.get(i).isEnabled());
}
现在,我如何实现 MouseListener 并通过迭代 arrayOfButtons 创建排除启用系统?这个想法很简单:“启用一个,禁用其他。”,但我无法弄清楚如何在实践中做到这一点。
我非常感谢你!