有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java单选按钮。isSelected()方法未返回正确的响应

我正在创建一个基本的JavaGUI琐事游戏,其中一个人选择一个单选按钮,然后点击一个按钮。然后程序检查是否选择了正确的单选按钮。它根据选择的单选按钮显示消息。出于某种原因,即使您为第一个问题选择了正确的单选按钮,即使您选择了正确的单选按钮,它也会显示“false”

更令人困惑的是,信息“假”来自第二个问题。如果你答错了,第一个问题显示为“False”。我很困惑为什么会发生这种情况,我想得到一些帮助

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");
                }
        }
    }
 }

共 (1) 个答案

  1. # 1 楼答案

    把反声明放在外面:

    private static class ButtonHandler implements ActionListener
     {
    int counter = 0;
        public void actionPerformed (ActionEvent e)
        {
    

    counter ++;
    

    在一个成功的回答之后

    if (A.isSelected()) {
     counter ++;