所以我想創建一個按鈕的驗證器,它必須檢查3個文本框,其中一個是IP地址。所以基本上用戶必須自己輸入完整的IP地址。Java IP Validator
所以我遇到了一個不需要的語法錯誤,我相信這是由於textfield造成的。
我試圖文本字段轉換成字符串,然後經過驗證,但只是似乎使情況變得更糟
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();
}
});
}
}
你需要分號那裏完成陳述。你有沒有試過編譯器建議? http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html \ – kosa