如果传递参数是字符串,如何验证TextField?

时间:2017-05-25 15:49:44

标签: java javafx javafx-8

我想验证GUI的TextField,如果用户不能输入字符串大小的文本字段,只将整数作为参数。喜欢捕捉异常 enter image description here

这是我的代码它没有捕获异常

public boolean validateTextField(){
    if(eventSizeField.getText().isEmpty() || eventNameField.getText().isEmpty()){
        alertboxCustom("Empty Field", "Please Enter Valid Name and size");
        return false;
    }else if(Integer.parseInt(eventSizeField.getText()) <= 0 ){
        alertboxCustom("EventSize", "Event Size must be greater than zero");
        return false;
    }try{
         Integer.parseInt(eventSizeField.getText());
    }catch (NumberFormatException e) {
        alertboxCustom("EventSize", e.getMessage());
        System.out.println(e.getMessage());
        return false;
    }
    return true;
}

2 个答案:

答案 0 :(得分:1)

您可以使用try catch:

    try {
            Integer.parseInt(textField.getText());
            //Some operations
        } catch (NumberFormatException e) {
            //Here for example prompt some window notifying user
            System.out.println(e);
        }

答案 1 :(得分:0)

在java中,每个文本都是字符串。 从文本字段中获取字符串

String stringValue=textField.getText(); 

要从字符串中获取整数值,我们可以使用

解析它
  try{
    value=Integer.parseInt(stringValue)
    } catch (NumberFormatException e) {
                //prompt some error or alert
    //reset text
      textField.setText("");
  }