【发布时间】:2018-11-28 23:34:25
【问题描述】:
我正在尝试验证 JTextField 的文本。此文本字段的内容应类似于 66.160507, -153.369141 或 66.160507,-153.369141(逗号后没有空格)。
到目前为止,我只验证纬度和经度的范围。
这里:
String [] splitted = jtextField.getText().split(",");
double latitude = Double.parseDouble(splitted[0]);
double longitude = Double.parseDouble(splitted[1])
if(latitude < -90 || latitude > 90)
return false;
else
continue;
if(longitude < -180 || longitude > 180)
return false;
else
continue;
但是现在我如何检查JTextField 中的文本格式和顺序是否正确?我需要验证这两种情况:
must be a double -> must be a comma -> must be a whitespace -> must be a double
must be a double -> must be a comma -> must be a double
【问题讨论】:
-
不是你问的,但你想要
||(意思是“或”)而不是and在你的两个if条件。而且你不需要else continue;。 -
使用
JFormattedTextField限制输入类型(即仅限十进制值),您仍然需要验证范围 -
@MadProgrammer 听起来像是一个答案。
-
@MadProgrammer,谢谢,不过我仍然需要检查一切是否按正确的顺序进行。
-
@JaneLilep 我将为
latitude和longitude设置一个单独的字段,JFormattedText字段的作用是确保用户只输入数字数据
标签: java swing validation gps coordinates