我实现了以下 JDialog:
[ jToggleButton1 ] [ jToggleButton2 ] [ jToggleButton2 ]
我希望当用户按下(-toggles-)任何 JToggleButtons 时,其他两个将其状态更改为未选中。 这将模拟经典的“一次仅按下一个”按钮集。
我已经使用以下方法实现了此行为:
private void btn1ActionPerformed(java.awt.event.ActionEvent evt) {
// do stuff
btn1.setSelected(true);
btn2.setSelected(false);
btn3.setSelected(false);
}
private void btn2ActionPerformed(java.awt.event.ActionEvent evt) {
// do stuff
btn1.setSelected(false);
btn2.setSelected(true);
btn3.setSelected(false);
}
private void btn3ActionPerformed(java.awt.event.ActionEvent evt) {
// do stuff
btn1.setSelected(false);
btn2.setSelected(false);
btn3.setSelected(true);
}
虽然显示的示例有 3 个按钮,但我的实际场景有 15/20 个按钮。 这种实现功能的方式显然效率不高。
- 还有其他设计模式可以自动选择其中一种吗?
- JToggleButtons 是否实现了任何可以使用的功能?
注意:如果相关的话,我正在使用 Netbeans 集成 UI 编辑器来开发所有 Java swing JFrames/JDialogs。
最佳答案
尝试将按钮添加到 ButtonGroup:
ButtonGroup group = new ButtonGroup();
group.add(button1);
group.add(button2);
...
关于java - 是否可以使 JToggleButton 取消选择其他 JToggleButton 以达到与传统单选按钮类似的效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58778381/