我怎么能从文本字段添加值,当我按下按钮,没有所有的值



我在使用GUI的java程序上工作,我遇到了一个问题,每当我试图从文本字段中添加值,一个是缺少它不工作,我得到一个错误,但如果所有这些都是可用的,我得到正确的答案,我怎么能添加没有所有的值?

JButton btnCheckOut = new JButton("CHECK OUT");
btnCheckOut.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
        double apples, strawberries, watermelon, tomatoe, carrot, beef, lamb, payment;
        apples = Double.parseDouble(textField.getText());
        strawberries = Double.parseDouble(textField_1.getText());
        watermelon = Double.parseDouble(textField_2.getText());
        tomatoe = Double.parseDouble(textField_3.getText());
        carrot = Double.parseDouble(textField_4.getText());
        beef = Double.parseDouble(textField_5.getText());
        lamb = Double.parseDouble(textField_6.getText());
        payment = (apples*8)+(strawberries*10)+(watermelon*14)+
                (tomatoe*5)+(carrot*6)+(beef*25)+(lamb*20);
        DecimalFormat df = new DecimalFormat("###.##");
       textField_7.setText(String.valueOf(df.format(payment)));

    }
});

创建例如getDoubleValue,在读取时应用于所有项。简单:

apples = getDoubleValue( textField.getText() );
...
...
然后

public double getDoubleValue( String txt ) {
  double d = 0d;
  try {
    if( txt != null && !txt.isEmpty() ) {
      d = Double.parseDouble( txt );
    }
  } catch(Exception ex) {}
  return d;
}

(这也将照顾"脏输入",如果文本字段不包含数字,它将在解析期间将其设置为零)。

创建textFields时,将那里的文本初始化为0。像

JTextField textField_1 = new JTextField("0");

或者,你可以加上

if(textField.getText() == ""){
   textField.setText("0");
}

在进行数学运算之前,创建一个IF语句,如果其各自的TextField为空,则将变量设置为zero

if(textfield.getText().isEmpty())
{
    apples = 0;
}

相关内容

  • 没有找到相关文章

最新更新