Как использовать jButtongroup для выбора радиокнопки с помощью java

я создаю простую рейтинговую систему в java. у нас есть 5 переключателей для оценки курса. Я прикрепил снимок экрана ниже. У меня есть группа buttonGroup1, buttonGroup2, buttonGroup3

у меня есть код ниже. что я пробовал до сих пор. сначала я попытался с buttonGroup1, но я получил ошибку, что метод isSelected в классе ButtonGroup не может быть применен к заданным типам требуется модель кнопки. как правильно написать здесь код и получить его.

 if (buttonGroup1.isSelected())
        {
            
            if (r1.isSelected()){  
             
            JOptionPane.showMessageDialog(this,"1");    
          }  
             else if (r2.isSelected()){  
             
            JOptionPane.showMessageDialog(this,"2");    
          }  
             else if (r3.isSelected()){  
             
            JOptionPane.showMessageDialog(this,"3");    
          }  
             else if (r4.isSelected()){  
             
            JOptionPane.showMessageDialog(this,"4");    
          }  
            
             else if (r5.isSelected()){  
             
            JOptionPane.showMessageDialog(this,"5");    
          }  
           
        }

если (buttonGroup1.isSelected()) эта строка идет, метод ошибки isSelected в классе ButtonGroup не может быть применен к заданным типам требуется модель кнопки.

вы, вероятно, предполагаете передать какое-то значение внутри метода isSelected

Alex Rmcf 17.12.2020 14:28

я. я не знаю, какое значение передать ему

hari dran 17.12.2020 14:29
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
109
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Из документации ButtonGroup:

method isSelected(ButtonModel m) — возвращает, является ли ButtonModel выбрано.

Итак, чтобы использовать этот метод, вы должны передать туда объект ButtonModel

if (buttonGroup1.isSelected(ButtonModel m)) я написал так ') отображается ожидаемая ошибка

hari dran 17.12.2020 14:33
Ответ принят как подходящий

buttonGroup.isSelected(ButtonModel m) на самом деле не то, что вам нужно, потому что это проверяет, выбрано ли конкретное ButtonModel. Либо вы опускаете весь внешний оператор if и просто проверяете все отдельные переключатели для выбора, либо вы можете использовать getSelection() и проверять наличие нуля.

Пример:

if (buttonGroup1.getSelection() != null) {

    if (r1.isSelected()) {
        JOptionPane.showMessageDialog(this, "1");
    } else if (r2.isSelected()) {
        JOptionPane.showMessageDialog(this, "2");
    } else if (r3.isSelected()) {
        JOptionPane.showMessageDialog(this, "3");
    } else if (r4.isSelected()) {
        JOptionPane.showMessageDialog(this, "4");
    } else if (r5.isSelected()) {
        JOptionPane.showMessageDialog(this, "5");
    }
}

if (buttonGroup1.getSelected() != null)) в этой строке ошибка отображала недопустимое начальное выражение

hari dran 17.12.2020 14:49

Другие вопросы по теме