Java应用程序中的错误 保存按钮的操作侦听器中的代码:
我的问题是,当一个或两个文本字段留空时,键入的信息不能保存,必须弹出消息对话框“未完成输入”。它对于Java应用程序中的错误 保存按钮的操作侦听器中的代码:,java,joptionpane,Java,Joptionpane,我的问题是,当一个或两个文本字段留空时,键入的信息不能保存,必须弹出消息对话框“未完成输入”。它对于txt\u pass和txt\u name都是字符串,效果非常好,但是每当我将文本字段(txt\u userid)留空时,就会出现一个错误。为什么会这样?我也遇到了同样的问题,您可以通过先检查它是否为null来避免它。更改部分: if(txt_userid.getText().isEmpty() || (txt_pass.getText().isEmpty() || txt_name.getTex
txt\u pass
和txt\u name
都是字符串,效果非常好,但是每当我将文本字段(txt\u userid
)留空时,就会出现一个错误。为什么会这样?我也遇到了同样的问题,您可以通过先检查它是否为null
来避免它。更改部分:
if(txt_userid.getText().isEmpty() || (txt_pass.getText().isEmpty() || txt_name.getText().isEmpty())))
{
JOptionPane.showMessageDialog(null, "Incomplete input!");
}
致:
此外,在现有的try catch
之前添加一个try catch
更改:
i= Integer.parseInt(txt_userid.getText());
s= txt_pass.getText();
n = txt_name.getText();
致:
当我将文本字段(txt_userid)留空时,它不会显示对话框(“不完整的输入!”)。创建并发布您的文本字段,以便我们看到真实代码的错误。它是否引发异常?您完全忽略了上述问题。没有人询问数据库类型。您在原始程序中提到了一个错误,我们正试图找出是什么错误,但您不告诉我们。为什么?最后。非常感谢。现在@manetsus,请阅读下面的内容,看看为什么这真的是一个重要的区别。它仍然不适用于txt_用户ID:(txt_userid是十进制类型,十进制和字符串是否有相同的代码?这不是
txt_userid
a按钮吗?请提供。txt_userid、txt_pass、txt_name是textfield的变量名。我已经更新了答案,试试这个。但是有一个问题,在try
的if(txt_userid.getText()==null || txt_pass.getText()==null || txt_name.getText()==null || txt_userid.getText().isEmpty() || txt_pass.getText().isEmpty() || txt_name.getText().isEmpty())
{
JOptionPane.showMessageDialog(null, "Incomplete input!");
}
i= Integer.parseInt(txt_userid.getText());
s= txt_pass.getText();
n = txt_name.getText();
try
{
i= Integer.parseInt(txt_userid.getText());
s= txt_pass.getText();
n = txt_name.getText();
}
catch(Exception ex) {
ex.printStackTrace(); // at least do it right
}