在Document Listener中允许空字符串的最简单方法

时间:2013-08-11 18:14:08

标签: java swing

每当我从文本字段中删除一个值时,我都会收到错误说明:线程“AWT-EventQueue-0”中的异常java.lang.NumberFormatException:empty String。简而言之,如果用户犯了错误,我希望他能够删除文本字段中的条目并输入新条目。使用下面的代码有没有一个简单的解决方案?

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());

            {

1 个答案:

答案 0 :(得分:1)

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

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

除此之外:如果输入任何非数字值,您可能想要抓住NumberFormatException