#java #swing
#java #swing
Вопрос:
я создаю простую рейтинговую систему на 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()) эта строка переходит в метод ошибки, выбранный в классе ButtonGroup, не может быть применен к заданным типам
, требующим модели кнопок.
Комментарии:
1. вероятно, вы предполагаете передать некоторое значение внутри метода IsSelected
2. ya. я не знаю, какое значение передать
Ответ №1:
buttonGroup.isSelected(ButtonModel m)
на самом деле это не то, что вы хотите здесь, потому что это проверяет, выбрано ли конкретное ButtonModel
. Либо вы опускаете весь оператор outer if и просто проверяете все отдельные переключатели для выбора, либо вы можете использовать getSelection()
и проверять значение null.
Пример:
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");
}
}
Комментарии:
1. if (buttonGroup1.getSelected() != null)) в этой строке отображается ошибка недопустимого начального выражения
Ответ №2:
Из документации ButtonGroup:
метод IsSelected(ButtonModel m) — возвращает, выбрана ли ButtonModel.
Итак, чтобы использовать этот метод, вы предполагаете передать туда объект ButtonModel
Комментарии:
1. если (buttonGroup1.IsSelected(ButtonModel m)) я написал так ‘) отображается ожидаемая ошибка