我是javaFx的新手,所以请忽略我在这里的愚蠢问题我要验证(限制)用户输入3个字符(如果用户输入更多输入,则不允许或3个字符后,后者应该可见)我发现很多验证的解决方案,但它不限制最多3个字符,也不会有点混淆理解这是我的代码.
public class editController {
@FXML
private TextField countrycode;
public void add(ActionEvent event) {
String ADD=countrycode.getText();
try {
if(ADD.isEmpty()){
Alert alert=new Alert(Alert.AlertType.ERROR);
alert.setHeaderText(null);
alert.setContentText("Please Fill All DATA");
alert.showAndWait();
return;
}
FXMLLoader loader =new FXMLLoader();
loader.load(getClass().getResource("/region/newCountry.fxml").openStream());
Run Code Online (Sandbox Code Playgroud)
使用textProperty Listener进行验证,如:
countrycode.textProperty().addListener(new ChangeListener<String>() {
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
if (newValue.length() > 3) {
countrycode.setText(oldValue);
}
}
});
Run Code Online (Sandbox Code Playgroud)
或者获取字符串长度并检查它
int length = ADD.length();
if (length > 3) {
System.out.println("Please Enter Lessthen 3 character");
}
Run Code Online (Sandbox Code Playgroud)