问题描述
如果电话号码的长度小于 11,我想显示警告对话框或禁用提交按钮。
numText = new jformattedtextfield(createFormatter("#### #######"));
numText.setColumns(15);
numLabel = new JLabel("Enter Phone Number: ");
enterButtonTemp = new JButton("Enter");
检查条件的代码是:
phonestr = numText.getText();
System.out.println(phonestr.length());
if(phonestr.length() <= 11){
//show the JoptionPane for dialog Box
}
else{
//Send the name to be stored in db
}
代码基本上检查phonestr的长度是否小于11。如果是它应该弹出一个对话框,但即使文本字段为空,.length()方法也会给出12作为输出。 下面的语句输出12。有没有其他方法可以检查这个条件。
System.out.println(phonestr.length());
解决方法
找到了解决办法。效率不高,但快了一点。默认情况下,格式化文本字段实际上创建了字段 12 的长度,因此如果没有输入,则默认插入 12 个空格。因此,下面的代码运行良好,而不是使用 phoneStr.equals("")。它将 phoneStr 与 12 个空格而不是空字符串进行比较。
if(phoneStr.equals(" ")){
System.out.println("in loop");
JOptionPane.showMessageDialog(dialogFrame,"Fill all the fields.","Alert",JOptionPane.WARNING_MESSAGE);
}
else{
//Send the num to db
}