Итак, я пишу программу 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));
});
}
}
TextFormatter
. stackoverflow.com/questions/40472668/ - person Sedrick   schedule 02.03.2020