Проверьте, выбрал ли пользователь одну из радиокнопок Java - PullRequest
0 голосов
/ 01 мая 2018

У меня есть две кнопки, чтобы выбрать пол, и я хочу проверить, выбрал ли пользователь один из них, я хочу сделать это с помощью try and catch, но я точно не знаю, как это сделать. Пол в базе данных является символом. Может ли кто-нибудь помочь мне ???

 MButton.setActionCommand("Male");
    FButton.setActionCommand("Female");

 s.setGender(buttonGroup1.getSelection().getActionCommand().charAt(0))

Ответы [ 2 ]

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

Прежде всего:

  1. Имена переменных НЕ должны начинаться с символа верхнего регистра. Некоторые из ваших переменных верны. Другие нет. Будьте последовательны !!!

  2. «Команда действия» по умолчанию соответствует тексту на кнопке, поэтому, если вы используете «мужчина» и «Женщина» в качестве текста каждой радиокнопки, вам не нужно устанавливать «команду действия» напрямую .

У меня есть две кнопки для выбора пола, и я хочу проверить, выбрал ли пользователь одну из них.

Ну, тебе нужно знать, когда делать эту проверку. Предположительно, у вас есть какая-то кнопка «Сохранить», которую пользователь нажимает, чтобы обработать все данные, введенные в форму. Поэтому в ActionListener для этой кнопки вы бы добавили логику для проверки выбора одной из переключателей.

Что-то вроде:

ButtonModel model = buttonGroup1.getSelection();

if (model != null)
{
    s.setGender(model.getActionCommand().charAt(0))
}
else
{
    //error
}

Или другой подход - просто добавить ActionListener к каждой переключателю. Когда кнопка выбрана, вы устанавливаете значение «пол». Затем, когда вы нажимаете кнопку «Сохранить», вы проверяете, имеет ли свойство «пол» значение. Если нет, выполните обработку ошибок.

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

Вам, вероятно, не нужен try...catch, просто используйте простое выражение if (или два):

if (radioButton1.isSelected()) {
    // do something
}
else if (radioButton2.isSelected()) {
    // do something else
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...