[英]Java Swing buttongroup clear on click
我有一个带有2个单选按钮的按钮组:
private javax.swing.JRadioButton jRadioButtonESPRINCIPAL;
private javax.swing.JRadioButton jRadioButtonESSECUNDARIO;
buttonGroup1 = new javax.swing.ButtonGroup();
我知道我可以通过buttonGroup1.clearSelection()清除组,但是仅当我单击单击的单选按钮时,我才想这样做。
我努力了
private void jRadioButtonESPRINCIPALMouseClicked(java.awt.event.MouseEvent evt) {
if (jRadioButtonESPRINCIPAL.isSelected()) {
buttonGroup1.clearSelection();
}
else{
jRadioButtonESPRINCIPAL.setSelected(true);
}
}
private void jRadioButtonESSECUNDARIOMouseClicked(java.awt.event.MouseEvent evt) {
if (jRadioButtonESSECUNDARIO.isSelected()) {
buttonGroup1.clearSelection();
}
else{
jRadioButtonESSECUNDARIO.setSelected(true);
}
}
但是没用
任何帮助将不胜感激
我先前的回答是错误的抱歉。 您必须像这样使用ActionListeners
:
jRadioButtonESPRINCIPAL.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//your code goes here
}
});
然后使用变量存储最后选择的RadioButton
。 然后,在ActionListener
您必须检查isSelected()
等于最后一个选择。 如果是,则使用buttonGroup1.clearSelection();
。
因此,最终代码应如下所示:
jRadioButtonESPRINCIPAL.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jRadioButtonESPRINCIPAL.equals(lastSelectedRadioButton)) {
buttonGroup1.clearSelection();
lastSelectedRadioButton = null;
}
else {
lastSelectedRadioButton = jRadioButtonESPRINCIPAL;
}
}
});
jRadioButtonESSECUNDARIO.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jRadioButtonESSECUNDARIO.equals(lastSelectedRadioButton)) {
buttonGroup1.clearSelection();
lastSelectedRadioButton = null;
}
else {
lastSelectedRadioButton = jRadioButtonESSECUNDARIO;
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.