2013-12-13 1 views
2

Я хочу, чтобы пользователь выбирал один из вариантов. , но мой код не работает. не уверен, что я ошибсяВыбор и продолжение кнопки радиосвязи Java

if (!jRadioMale.isSelected() || !jRadioFemale.isSelected()) { 
    JOptionPane.showConfirmDialog(rootPane, 
     "Please Select Male or Female", 
     "", 
     JOptionPane.OK_CANCEL_OPTION); 
} else { 
    // Continue to next 
} 

он продолжает подсвечивать «Пожалуйста, выберите мужчину или женщину», даже если он выбран!

+1

Определите, что «мой код не работает». Это выражение не имеет смысла. Дайте подробности. – Kon

+0

Продолжить подсказку Выберите мужчину или женщину, даже если выбрано одно из них. – BeyondProgrammer

+1

Ваше состояние говорит, чтобы показать приглашение, если какая-либо кнопка не выбрана. – Kon

ответ

1

Вам нужно сделать, это ...

if(jRadioMale.isSelected() || jRadioFemale.isSelected()){ 
    //Continue to next   

      } 
    else{ 
    JOptionPane.showConfirmDialog(rootPane, "Please Select Male or Female", "", JOptionPane.OK_CANCEL_OPTION); 

    } 

Ваш код всегда будет показывать предупреждение, потому что Ваше состояние возвращает истину, если какой-либо один из кнопки не выбран

+0

Ха-ха, спасибо, я смутился – BeyondProgrammer

+0

вы можете продолжить свой код, если вы измените «||» с «&&» он будет работать – Myth

+0

Я продолжу ваш метод с использованием ||, это в основном то, что я хотел определить, но я легко запутался. – BeyondProgrammer

0

Боюсь, вам нужно избавиться! , Так что это будет работает

if(jRadioMale.isSelected()|| jRadioFemale.isSelected()){      
       }else{ 
JOptionPane.showConfirmDialog(rootPane, "Please Select Male or Female", "", JOptionPane.OK_CANCEL_OPTION); 



} 
0

Вместо ИЛИ (будет держать подсказки, потому что, когда один выбран другой IS NOT)

if (!jRadioMale.isSelected() || !jRadioFemale.isSelected()) { 

вы действительно хотите И (когда либо выбран)

if (!jRadioMale.isSelected() && !jRadioFemale.isSelected()) { 

или вы могли бы использовать отрицание И

if (!(jRadioMale.isSelected() || jRadioFemale.isSelected())) { 
0
if (!jRadioMale.isSelected() && !jRadioFemale.isSelected()) { 
    JOptionPane.showConfirmDialog(rootPane, 
     "Please Select Male or Female", 
     "", 
     JOptionPane.OK_CANCEL_OPTION); 
} else { 
    // Continue to next 
} 

Использование И вместо OR

+0

Почему, на ваш взгляд, это работает?Почему вы думаете, что это по-другому? – Kon

+0

@Kon: пожалуйста, проверьте мой отредактированный код..ундо ваш downvote .. !! –

0

Я согласен с @Elliott Frisch. Проблема заключается в следующем коде:

! JRadioMale.isSelected() || ! jRadioFemale.isSelected()

Для этого выражения две ситуации будут удовлетворять: 1.User не выбрал радио. 2.User выбрал только одну радиостанцию. В этом случае будет выполнено условие! JRadioMale.isSelected() или! JRadioFemale.isSelected(), которое делает полное выражение истинным.

Я думаю, что вы можете выражение верно только в ситуации 1. Вы можете модифицировать ваш код следующим образом: jRadioMale.isSelected() & & jRadioFemale.isSelected()

Желаемое мой ответ может! дайте вам некоторую помощь.

+0

тот что мой ответ .. !! –