![](/img/trans.png)
[英]How to verify the user input in a textfield to compare it with a variable?
[英]How to verify textField input?
我知道这应该不太困难,但我的搜索尚未找到有用的东西。 我要做的就是确保用户在textField中输入一个正整数。 我试过了:
public class myInputVerifier extends InputVerifier {
@Override
public boolean verify(JComponent jc) {
String text = ((jTextFieldMTU) jc).getText();
//Validate input here, like check int by try to parse it using Integer.parseInt(text), and return true or false
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
因此,在我的主代码中,如果成功,我想使用它显示“ OK”,如果不成功,则显示“输入正数”。
有人可以指出我正确的方向吗? 谢谢!
您可以使用try-catch块来检查输入是否为整数:
try {
int i = Integer.parseInt(input);
// input is a valid integer
}
catch (NumberFormatException e) {
// input is not a valid integer
}
字符串具有match方法,您可以将其与正则表达式一起使用,以查看内容是否与特定模式匹配。 正整数的正则表达式为^ [1-9] \\ d * $,因此您可以像这样使用它...
boolean matches = text.matches("^[1-9]\d*$");
if(matches){
//Do something if it is valid
}else{
//Do something if it is not
}
我建议您使用try catch。 捕获NumberFormatException。 这样,您可以检查文本是否可以解析为整数。 如果没有,您可以向用户显示错误消息。 之后,您可以使用if else语句检查数字是否为正,如果不为正,则可以向用户显示错误消息。 如果您不知道,建议您研究尝试捕获。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.