빠른 질문 : JTextField가 포커스를 잃을 때 포커스 수신기에서 사용자 입력을위한 JTextField가 있습니다. JTextField의 데이터가 숫자인지 어떻게 확인할 수 있습니까? 감사JTextField가 숫자인지 확인하십시오.
4
A
답변
7
는 Integer.parseInt(yourString)
을 수행하고 그것이 NumberFormatException
를 throw하는 경우 유효한 integer
try {
Integer.parseInt(myString);
System.out.println("An integer"):
}
catch (NumberFormatException e) {
//Not an integer
}
또 다른 대안은 정규식 문자열 이 아니라는 것을 알고 있습니다 :
boolean isInteger = Pattern.matches("^\d*$", myString);
1
public void focusLost(FocusEvent fe) {
String text = this.getText();
try {
double d = Double.parseDouble(text);
// or Integer.parseInt(text), etc.
// OK, valid number.
} catch (NumberFormatException nfe) {
// Not a number.
}
}
2
How to Use Formatted Text Fields을 참조하십시오.
형식화 된 텍스트 필드를 사용하지 않으려면 FocusListener가 아닌 InputVerifier를 사용해야합니다.
DocumentFilter을 입력하면 텍스트를 필터링 할 수도 있습니다.
+0
)이되어야한다고 생각합니다. +1 – mKorbel
죄송합니다. 편집하지 않으려 고합니다. 죄송합니다. 이미 되돌려 왔습니다. 죄송합니다. = | – maerics
@Maerics 아무런 문제가 없습니다. –
'System.out.println ("정수"); ' –