0

每当我从文本字段中删除一个值时,我都会收到一条错误消息:线程“AWT-EventQueue-0”中的异常 java.lang.NumberFormatException:空字符串。简单地说,如果用户犯了错误,我希望他能够擦除文本字段中的条目并输入一个新条目。使用下面的代码可以解决这个问题吗?

jTextField5.getDocument().addDocumentListener(new DocumentListener() {
            public void changedUpdate(DocumentEvent e) {

              updateField();
            }
            public void removeUpdate(DocumentEvent e) {
              jTextField5.setEnabled(true);
              if(!jTextField6.isEnabled())
              {
                  jTextField6.setEnabled(true);
              }
              updateField();

            }
            public void insertUpdate(DocumentEvent e) {
              updateField();
            }

             public void updateField() {
             double a= Double.parseDouble(jTextField1.getText());
             double b =Double.parseDouble(jTextField5.getText());
             double c = Double.parseDouble(jTextField4.getText());

            {
4

1 回答 1

1

JTextComponent在解析其文本之前检查每个内容是否包含内容

if (!jTextField5.getText().trim().isEmpty()) {
   double b = Double.parseDouble(jTextField5.getText());
   ...
}

NumberFormatException旁白:如果输入任何非数字值,您可能想要捕获

于 2013-08-11T19:31:42.700 回答