Очистить выбор радиокнопок
Мое приложение: пользователь хочет, чтобы объект двигался влево с определенной скоростью - он / она выбирает одну радиокнопку из MoveToLeft ButtonGroup. Но он / она меняет свое мнение и хочет, чтобы объект двигался вправо - он / она выбирает одну радиокнопку из кнопки MoveToRight ButtonGroup. У меня вопрос - как очистить бутонггруппу, которая была выбрана первой. Я пробовал ClearSelection и setSelected(false), но это не работает. Вот мой код:
JRadioButton vel1 = new JRadioButton("10 km/h");
JRadioButton vel2 = new JRadioButton("20 km/h");
JRadioButton vel3 = new JRadioButton("30 km/h");
JRadioButton vel4 = new JRadioButton("40 km/h");
ButtonGroup moveToRight = new ButtonGroup();
moveToRight.add(vel1);
moveToRight.add(vel2);
ButtonGroup moveToLeft = new ButtonGroup();
moveToLeft.add(vel3);
moveToLeft.add(vel4);
if(vel1.isSelected() || vel2.isSelected() )
{
moveToLeft.clearSelection();
//vel3.setSelected(false);
//vel4.setSelected(false);
}
if(vel3.isSelected() || vel4.isSelected() )
{
moveToRight.clearSelection();
//vel1.setSelected(false);
//vel2.setSelected(false);
}
ButtonGroups находятся в двух разных панелях.
1 ответ
Что не работает? Если clearSelection(...)
оператор выполнен, тогда он будет работать. Если это не работает, то оператор не выполняется.
Код, который вы разместили, ничего не сделает. Этот код будет выполнен, когда кнопки будут созданы, а рамка еще даже не видна, поэтому, очевидно, они еще не будут выбраны пользователем.
... он / она выбирает одну радиокнопку...
Итак, вам нужно добавить ActionListener
переключателю, чтобы выполнить соответствующий код.
Прочитайте раздел руководства Swing по использованию радио-кнопок для получения дополнительной информации и рабочих примеров.