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

问题描述 投票:-1回答:1

我正在创建一个基本的Java GUI琐事游戏,选择一个单选按钮,然后单击一个按钮。然后,程序检查是否选择了正确的单选按钮。它根据选择的单选按钮显示一条消息。由于某些原因,即使您为第一个问题选择了正确的单选按钮,即使您选择了正确的单选按钮,它也会显示“ 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");
                }
        }
    }
 }
java swing jradiobutton
1个回答
0
投票

将柜台声明放在外面:

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

放入

counter ++;

成功答复后,例如

if (A.isSelected()) {
 counter ++;
© www.soinside.com 2019 - 2024. All rights reserved.