我试图在java gui中构建一个计算器

时间:2015-03-12 18:06:44

标签: java user-interface jbutton jtextfield calculator

每次单击新按钮时,它都会替换文本字段中的num变量。当我点击不同的按钮时,我希望它一个接一个地显示每个新的数字,然后最终我将添加/减去/相乘并除以它们,如果可能的话,你可以让我知道如何在两个不同的数字块上进行数学运算。 我们将非常感谢您的帮助

private class TheHandler implements ActionListener{

    public void actionPerformed(ActionEvent e) {

        //add values to buttons
        String num = "";
        if(e.getSource()==btn[0]){
            //tDisplay.setText("7");
            num = "7";
        }else if(e.getSource()==btn[1]){
            //tDisplay.setText("8");
            num = "8";
        }else if(e.getSource()==btn[2]){
            //tDisplay.setText("9");
            num = "9";
        }else if(e.getSource()==btn[5]){
            //tDisplay.setText("4");
            num = "4";
        }else if(e.getSource()==btn[6]){
            //tDisplay.setText("5");
            num = "5";
        }else if(e.getSource()==btn[7]){
            //tDisplay.setText("6");
            num = "6";
        }else if(e.getSource()==btn[10]){
            //tDisplay.setText("1");
            num = "1";
        }else if(e.getSource()==btn[11]){
            //tDisplay.setText("2");
            num = "2";
        }else if(e.getSource()==btn[12]){
            //tDisplay.setText("3");
            num = "3";
        }else if(e.getSource()==btn[15]){
            //tDisplay.setText("0");
            num = "0";
        }

        //set the values to the text field

        tDisplay.setText(num);

    }

}

1 个答案:

答案 0 :(得分:1)

这是代码

tDisplay.setText(tDisplay.getText()+num);

验证是否先按下0以避免这样的数字" 015"

if (tDisplay.getText().equals("0"))
    tDisplay.setText(num);
else
    tDisplay.setText(tDisplay.getText()+num);

当您按下操作员按钮时必须存储该值并修改一个标志,当按下等号按钮存储写入的第二个值并执行所选操作时(带有该标志的值)。