Итак, я пишу программу javafx для управления отдельными битами в байте. У меня есть текстовое поле для каждого бита. Я хочу реализовать список изменений в текстовых полях, чтобы нельзя было вводить что-либо, кроме 0 или 1. Он отлично работает, если поле пустое и пользователь пытается ввести букву, но если в нем уже есть 0 или 1, выдает исключение, и я не понимаю, почему.
Вот мой код:
public class Task03Controller implements Initializable {
@FXML private TextField zeroTextField, oneTextField, twoTextField, threeTextField,
fourTextField, fiveTextField, sixTextField, sevenTextField;
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
zeroTextField.textProperty().addListener((observable, oldValue, newValue) -> {
if(!zeroTextField.getText().equals("0") && !zeroTextField.getText().equals("1"))
zeroTextField.clear();
else if(zeroTextField.getText().length() > 1)
zeroTextField.setText(zeroTextField.getText().substring(0, 0));
});
}
}