だから私は、そのうちの1つがIPアドレスである3つのテキストフィールドをチェックする必要があるボタンのバリデーターを作成しようとしています。したがって、基本的にユーザーは完全な IP アドレスを自分で入力する必要があります。
そのため、不要な構文エラーが発生しました。これは、テキストフィールドが原因であると確信しています。
テキストフィールドを文字列に変換してから検証を試みましたが、それは悪化しているようです
private class theValidator implements ActionListener{
public void actionPerformed(ActionEvent e)
{
String textIP = txfIP.getText();
txfIP.setInputVerifier(new InputVerifier() {
Pattern pat = Pattern.compile("\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\."+
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\." +
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\." +
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b");
public boolean shouldYieldFocus(JComponent input) {
boolean inputOK = verify(input);
if (inputOK) {
return true;
}
else {
Toolkit.getDefaultToolkit().beep();
return false;
}
}
public boolean verify(JComponent input) {
JTextField field = (JTextField) input;
Matcher m = pat.matcher(field.getText());
return m.matches();
}
});
}
}