2017-05-25 29 views
-1

我想验证GUI的文本字段,如果用户不能输入大小的文本字段的字符串,只取整数作为参数。像捕捉异常 enter image description here如果传递参数是字符串,如何验证TextField?

这里是我的代码,它不捕捉异常

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; 
} 
+0

从文本字段每个输入被解释为字符串 得到文本字段

String stringValue=textField.getText(); 

从字符串,我们可以分析它获得整数值的字符串,你要检查它是否是例如数? –

+0

我知道每输入一个字符串,该事件的名称取事件的字符串和大小只取整数作为输入来创建一个对象。如果有人尝试在该字段中输入字符串,我想显示错误警告框。 – Reboot

+0

请[编辑]这个问题,以明确你的问题。你想让文本字段只能有数字(整数?浮点?负数?)值吗?如果是这样,在问题中以一种可以理解的方式解释。 –

回答

1

您可以使用尝试捕捉此:

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

切勿使用的try-catch逻辑处理。例外情况是特殊情况。如果字符串格式不正确,您应该编写代码以避免将字符串转换为数字。 –

+0

我的代码不是例外 – Reboot

+0

@Reboot你是什么意思? –

0

Java中的每个文字字符串。使用

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

切勿使用try-catch进行逻辑处理。例外情况是特殊情况。如果字符串格式不正确,您应该编写代码以避免将字符串转换为数字。 –

+0

而且它会减慢速度 –

相关问题