关于JTextField校验的问题
InputVerifier iV=new InputVerifier(){
public boolean verify(JComponent source) {
JTextField jTextField = (JTextField) source;
boolean invalid = true;
try {
if (Integer.parseInt(jTextField.getText()) <= 0) {
invalid = false;
}
} catch (Throwable t) {
System.out.println("11");
invalid = false;
}
if (!invalid) {
System.out.println("22");
JOptionPane.showMessageDialog(jTextField.getParent().
getParent(),
"text you have inputed is wrong at:" +
jTextField.getName() +
"\nplease input number~",
"Error",
JOptionPane.ERROR_MESSAGE);
}
return invalid;
}
};
JTextField t1=new JTextField();
JTextField t2=new JTextField();
t1.setInputVerifier(iV);
t2.setInputVerifier(iV);
为什么出现死循环呢?在将t1的焦点试图放到t2上的时候,在控制台上就会循环的打印出:
11
22
11
22
11
22
11
22
11
22
11
22
11
22
11
22
11
22
请问各位大虾是什么原因呢?