Я пытаюсь создать небольшое приложение JavaFX.
Я пытаюсь сделать следующее: у моего приложения есть TextField, который пользователь вызывает для вставки URL-адреса.Затем вы нажимаете кнопку, чтобы загрузить страницу.То, что я хочу сделать, это отключить эту кнопку, когда TextField пуст или когда страница загружается.Когда страница завершает загрузку, кнопка снова включается.
Я использовал привязки, чтобы связать TextField с кнопкой, поэтому, когда TextField пуст, кнопка отключается, используя следующий код:
BooleanBinding booleanBind = new BooleanBinding() {
{
super.bind(url.textProperty());
}
@Override
protected boolean computeValue() {
return url.getText().isEmpty();
}
};
loadButton.disableProperty().bind(booleanBind);
Теперь я хочу также отключить кнопку при загрузке страницы.Чтобы загрузить страницу, я использую следующий код:
loadButton.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent event) {
//loadButton.setDisable(true);
webEngine.load(url.getText());
}
});
По комментариям вы можете увидеть, как я отключил кнопку во время загрузки страницы (я использую ChangeListener, чтобы включить ее снова после завершения загрузки WebEngine),Но теперь, когда я использовал привязку, чтобы также связать ее с TextField, я не могу отключить ее вручную, как это, потому что я получаю java.lang.RuntimeException: A bound value cannot be set.
error.
Как я могу использовать привязки, чтобы также отключить кнопку при загрузке страницы?