我有一组单选按钮,定义为' ButtonGroup bg1;
'使用' javax.swing.ButtonGroup
'包。我想禁用此论坛,以便用户在点击“确定”按钮后无法更改其选择“btnOK
'
所以我一直在寻找这些方面的东西:
private void btnOkActionPerformed(java.awt.event.ActionEvent evt) {
bg1.setEnabled(false);
}
但是,.setEnabled(false)
似乎不存在。
答案 0 :(得分:6)
我想禁用此群组
ButtonGroup
不是可视组件。它用于为一组按钮创建多重排除范围。
使用相同的ButtonGroup
对象创建一组按钮意味着转动" on"其中一个按钮会关闭组中的所有其他按钮。
您必须停用JRadioButton
中添加的每个Buttongroup
,因为ButtonGroup
没有任何此类方法可以停用整个群组。
示例代码:
Enumeration<AbstractButton> enumeration = bg1.getElements();
while (enumeration.hasMoreElements()) {
enumeration.nextElement().setEnabled(false);
}
答案 1 :(得分:1)
一个简单的解决方案是将按钮放在一个数组中......
JRadioButton[] buttons = new JRadioButton[]{jbutton1,jbutton2,jbutton3,jbutton4};
迭代数组并改变按钮的状态......
for (JRadioButton btn : buttons) {
btn.setEnabled(false);
}
或者您可以在JPanel中输入单选按钮组并添加该JPanel。
在OK按钮单击事件上,您可以获取组件并迭代循环以禁用它们。
for(Component c:jpanel1.getComponents()){
c.setEnabled(false);
}