У меня есть две кнопки для выбора пола, и я хочу проверить, выбрал ли пользователь один из них, я хочу сделать это с помощью try and catch, но я точно не знаю, как это сделать. Пол в базе данных - char. Кто-нибудь может мне помочь???
MButton.setActionCommand("Male");
FButton.setActionCommand("Female");
s.setGender(buttonGroup1.getSelection().getActionCommand().charAt(0))
Вам, вероятно, не нужен try...catch
, просто используйте простой оператор if
(или два):
if (radioButton1.isSelected()) {
// do something
}
else if (radioButton2.isSelected()) {
// do something else
}
Прежде всего:
Имена переменных НЕ должны начинаться с символа верхнего регистра. Некоторые из ваших переменных верны. Другие нет. Быть последовательным!!!
«Команда действия» по умолчанию соответствует тексту на кнопке, поэтому, если вы используете «Мужской» и «Женский» в качестве текста каждой радиокнопки, вам не нужно напрямую устанавливать «команду действия».
I have two butons to select gender,and I want to check if the user selected one of them.
Что ж, вам нужно знать, когда делать эту проверку. Предположительно у вас есть какая-то кнопка «Сохранить», которую пользователь нажимает, чтобы обработать все данные, введенные в форму. Таким образом, в ActionListener для этой кнопки вы должны добавить логику для проверки выбора одного из переключателей.
Что-то вроде:
ButtonModel model = buttonGroup1.getSelection();
if (model != null)
{
s.setGender(model.getActionCommand().charAt(0))
}
else
{
//error
}
Или другой подход - просто добавить ActionListener к каждому переключателю. Когда кнопка нажата, вы устанавливаете значение «пол». Затем, когда вы нажимаете кнопку «Сохранить», вы проверяете, имеет ли свойство «пол» значение. Если нет, выполните обработку ошибок.
Вы можете помочь себе, разместив минимальный воспроизводимый пример, демонстрируя, что пошло не так