У меня проблема с моим Слушателем, я не знаю, как навсегда удалить слушателя для моего nameFieldLoginStage.Теперь, когда пользователь несколько раз переключает кнопку «Вход / Регистрация», мой метод вызывается много раз, и мой сервер получает много идентичных строк, отправляемых классом клиента.Я хочу удалить слушателя, когда мой метод будет завершен.
@FXML
public TextField nameFieldLoginStage;
private void checkUsernameRegister() {
nameFieldLoginStage.textProperty().addListener((observable, oldValue, newValue) -> {
imageUsernameLoginStage.setVisible(true);
if(registerButtonLoginStage.isSelected()) {
if (getPropertyUsername().length() >= 3 && getPropertyUsername().length() < 13) {
client.checkUserName(getPropertyUsername());
do {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
} while (!client.propertyCheckingFlagProperty().get());
if (client.getUsernameFlag()) {
imageUsernameLoginStage.setImage(new Image(ICONS_CANCEL_PNG));
usernameFlag = false;
} else {
imageUsernameLoginStage.setImage(new Image(ICONS_ACCEPT_PNG));
usernameFlag = true;
}
} else {
imageUsernameLoginStage.setImage(new Image(ICONS_LENGTH_PNG));
usernameFlag = false;
}
setAcceptButtonLoginStage();
}else
imageUsernameLoginStage.setImage(null);
});
}