java - 错误检查 int 值的空文本字段

标签 java swing netbeans int jtextfield

这是代码:

String name = txtname.getText();
         int id = Integer.parseInt(txtid.getText());
        int pass = Integer.parseInt(txtpass.getText());
         String day = Date.getSelectedItem().toString();


    if (txtname.getText().isEmpty() ||txtid.getText().isEmpty()||Date.getSelectedIndex()==0 || event == null||time==null) {


        JOptionPane.showMessageDialog(null, "you should add all information", "error", JOptionPane.ERROR_MESSAGE);



    }                                       

    else {

        ((DefaultListModel) jList1.getModel()).addElement(txtname.getText() + " " + txtpass.getText() + "(" + Date.getSelectedItem() + ") "+event+", "+time);
   try{
               Statement stmt = con.createStatement();
                stmt.execute("INSERT INTO company(name,id) VALUES('"+name+"',"+id+");");
                stmt.execute("INSERT INTO events(pass,time,status,day,companyId) VALUES("+pass+",'"+time+"','"+event+"','"+day+"',"+id+");");

               JOptionPane.showMessageDialog(this, "Record Submit");

          }catch(Exception ex){
              JOptionPane.showMessageDialog(this, ex);

             } 


    }


    this.txtname.setText(null);
    this.txtpass.setText(null);
    this.txtid.setText(null);
    this.Date.setSelectedIndex(0);
    this.jCheckBox1.setSelected(false);
    this.jCheckBox2.setSelected(false);
    this.jCheckBox3.setSelected(false);


}

这是错误:

java.lang.NumberFormatException: For input string: ""

该代码可能适用于字符串文本字段,但不适用于整数文本字段。
如果我删除它可能会起作用:

 txtid.getText().isEmpty()

请告诉我如何修复代码?

最佳答案

txtid.getText() 似乎返回“”。那是对的吗? 字符串“”不是数字,无法被 Integer.parseInt() 解析。您可以做的一件事是使用 try, catch。如果它抛出 NumberFormatException 错误,您可以进行相应的处理。

关于java - 错误检查 int 值的空文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61141293/

相关文章:

git - 1 个 Git 存储库中的多个 Netbeans 项目

jquery - NETBEANS 自定义代码折叠

java - 多个单选按钮的 Action 监听器

java - 传递到方法中的对象是否需要返回才能更改?

java - 获取一个 JTextField 返回透明状态

java - 从 JList 取回数据

java - 为什么 gif 动画在 paintComponent() 中使用时没有动画?

java - 如果输入仅包含 1 和 0,则将其从二进制转换为十进制

java - 使用安卓相机的简单 OCR 应用程序

java - Graphics Context 只会在一个线程中绘制