Очистить выбор радиокнопок - PullRequest
0 голосов
/ 06 мая 2018

Мое приложение: пользователь хочет, чтобы объект двигался влево с определенной скоростью - он выбирает одну радиокнопку из 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 Ответ

0 голосов
/ 07 мая 2018

Что не работает? Если оператор clearSelection(...) выполнен, он будет работать. Если это не работает, то оператор не выполняется.

Код, который вы разместили, ничего не сделает. Этот код будет выполнен, когда кнопки будут созданы, а рамка еще даже не видна, поэтому, очевидно, они еще не будут выбраны пользователем.

... он / она выбирает одну радиокнопку ...

Итак, вам нужно добавить ActionListener к переключателю, чтобы выполнить соответствующий код.

Прочтите раздел из учебника по Swing на Как использовать радиокнопки для получения дополнительной информации и рабочих примеров.

...