Я создаю базовую c Java GUI игру викторин, в которой выбирают переключатель и нажимают кнопку. Затем программа проверяет, был ли выбран правильный переключатель. Он отображает сообщение в зависимости от того, какой переключатель выбран. По какой-то причине, даже если вы выбрали правильную радиокнопку для первого вопроса, она отображает «ложь», даже если вы выбрали правильную радиокнопку.
Еще более запутанным является то, что сообщение «ложь» исходит от второго вопрос. Первый вопрос отображает «Ложь», если вы ошиблись. Я не совсем понимаю, почему это происходит, и мне нужна помощь.
private static class ButtonHandler implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
String recieve = e.getActionCommand ();
if (recieve.equals("name")) {
String input = txtName.getText ();
lblTitle2.setText(input + " want's to be a Millionare!");
}
frame1.setVisible (false);
frame2.setVisible(true);
int counter = 0;
if (recieve.equals("q1")) {
A.setEnabled(true);
B.setEnabled(true);
C.setEnabled(true);
D.setEnabled(true);
Rbtn1.setEnabled(false);
lblFill1.setText("What is on the Canadian Quarter?");
A.setText("Caribou");
B.setText("Deer");
C.setText("Schooner");
D.setText("Seal");
}
if (recieve.equals("final") && counter==0) {
if (A.isSelected()) {
lblScore.setText("Correct");
Rbtn2.setEnabled(true);
A.setEnabled(false);
B.setEnabled(false);
C.setEnabled(false);
D.setEnabled(false);
}
else {
lblScore.setText("False");
}
}
counter++;
if (recieve.equals("q2")) {
A.setEnabled(true);
B.setEnabled(true);
C.setEnabled(true);
D.setEnabled(true);
Rbtn2.setEnabled(false);
lblFill1.setText("The side of a coin with the face is called the?");
A.setText("Tail");
B.setText("Head");
C.setText("Face");
D.setText("Up");
}
if (recieve.equals("final") && counter==1 ) {
if (B.isSelected()) {
lblScore.setText("correct");
Rbtn3.setEnabled(true);
}
else {
lblScore.setText("false");
}
}
}
}