使用JTextArea的计算器

时间:2016-09-08 06:00:50

标签: java swing user-interface textarea calculator

我面临的问题很少......

我正在尝试使用Java开发基本的GUI计算器。我使用JTextArea来输入数字并仅执行所有计算。我希望文本区域也显示最终结果,但基本问题是当我按加号按钮时。它显示错误,但没有显示任何结果。我知道问题出在textarea.settext(""),但我不知道如何克服它

我指定下面代码的重要部分而不是整个代码。

到目前为止,这是我的代码:

JTextArea ta = new JTextArea();
    ta.setFont(new Font("Monospaced", Font.BOLD, 20));
    ta.setBounds(10, 11, 319, 74);
    contentPane.add(ta);


JButton button_14 = new JButton("1 ");
    button_14.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            ta.append("1");
        }   


JButton button_17 = new JButton("+");
    button_17.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {


            num1=Float.parseFloat(ta.getText());
            ta.setText("");
            ta.setText(ta.getText());

            num2=Float.parseFloat(ta.getText());
            ans=num1+num2;

        }

JButton button_11 = new JButton("=");
    button_11.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            ta.setText(String.valueOf(ans));
        }

1 个答案:

答案 0 :(得分:0)

问题所在,你说得对:

ta.setText("");
ta.setText(ta.getText());  
num2=Float.parseFloat(ta.getText());

你正在做的是将文本设置为空,然后再将文本设置为空(因为文本现在没什么)。

你试图从零开始做一个数字。

没有任何意义:“”

将文本保存在变量中,然后将其设置为空,如果这是您要完成的操作或未将其设置为“”。