Как получить ButtonGroup из JRadioButton

В проекте я добавил ItemListener в группу JcheckBox и JRadioButtons.

И я хочу, чтобы когда пользователь нажимал на уже выбранный JRadioButton, он отменялся.

Для этого единственного метода, который я знаю, это получение соответствующей группы кнопок, а затем вызов метода clearSelection(). Но в методе itemStateChanged() у меня есть JtoggleButton option=(JtoggleButton)event.getSource();

Таким образом, опция относится либо к JRadioButton, либо к JcheckBox. Я искал, но не могу найти способ получить ButtonGroup для JRadioButton.


person Sukhbir    schedule 01.06.2016    source источник


Ответы (1)


вы можете использовать getSource и проверить с помощью instanceof. Если это JRadioButton, приведите его к JRadioButton и установите selected в false. То же самое для JCheckBox

if(event.getSource instanceof JRadioButton){

 JRadioButton  btn=(JRadioButton)    event.getSource();
    btn.setSelected=false;
}
else if (event.getSource instanceof JCheckBox){

  JCheckBox chb=  (JCheckBox)    event.getSource();
    chb.setSelected=false;
}

ЕСЛИ вы хотите отменить выбор уже выбранного, вы можете добавить условие, как показано ниже

if(event.getSource instanceof JRadioButton){

  JRadioButton  btn=(JRadioButton)    event.getSource();
  if(btn.isSelected())
     btn.setSelected=false;
}
else if (event.getSource instanceof JCheckBox){   
  JCheckBox chb=  (JCheckBox)    event.getSource();
  if(chb.isSelected())
     chb.setSelected=false;
}
person SSD    schedule 01.06.2016