无法识别Java单选按钮选项

时间:2016-02-07 19:55:15

标签: java user-interface radio-button jradiobutton

我正在研究一个项目,使用单选按钮。

这是一个代码选择。这应该是ATM机模拟。代码与单选按钮不同。我可以执行我在另一个班级中提取的提款,存款等。

我将使用单选按钮选择"支票帐户"或者一个"储蓄账户。"代码只是将其读作一个帐户。我尝试使用isSelected方法在两个按钮之间进行选择,但这甚至不会注册我选择它们而代码什么也没做。现在我尝试使用布尔值进行评估,但是当它到达s = false时,它不会读取该部分程序并输出"此分支从未使用过。"

我现在在一系列帐户中拥有帐户,但我也尝试按名称直接将数据读取到2个帐户,但也没有。所以基本上,我只需要弄清楚如何根据单选按钮选择将用户数据读入一个帐户或另一个帐户。

//group buttons
        ButtonGroup group = new ButtonGroup();
        group.add(checking);
        group.add(savings);

        checking.addActionListener(new RadioButtonListener());

        savings.addActionListener(new RadioButtonListener());


        if (s = true) {
        withdraw.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {              
                myAccount[0].withdrawing(getUserTxt());
            }            
        });        

        deposit.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {               
                myAccount[0].depositing(getUserTxt());
            }            
        });

        balance.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
            myAccount[0].getBalance();        
            }
        });

        }

        **if (s = false)** {
        withdraw.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {              
                myAccount[1].withdrawing(getUserTxt());
            }            
        });        

        deposit.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {               
                myAccount[1].depositing(getUserTxt());
            }            
        });

        balance.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
            myAccount[1].getBalance();        
            }
        });

        }
              //display our results
    float getUserTxt() {
        return Float.parseFloat(input.getText());
    }
    void setResTxt(float result) {
        input.setText(String.valueOf(result));
    }

    **private class RadioButtonListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {

            if (e.getSource() == checking)
                s = true;
            else if (e.getSource() == savings)
                s = false;**
        };
    }


}

1 个答案:

答案 0 :(得分:0)

您需要检查按钮的状态:

if (checking.isSelected()) {
    …
} else {
    …
}

确保正确初始化它们;否则你最终会得到两个没有被选中的单选按钮。