JavaFX - setDisable (false) отображается как отключенный, но все еще может использовать узел - PullRequest
0 голосов
/ 30 октября 2018

Итак, моя ситуация здесь, у меня есть RadioButtons как часть ToggleGroup, и я настроил его так, чтобы при выборе одной из кнопок она отключала TextField, а когда другая Кнопка выбрана, это отключит TextField. Мои обработчики кнопок просто textField.setDisable(true/false); Он отлично работает, когда я нажимаю от кнопки к кнопке, кроме случаев, когда я инициализирую значение. Я хочу, чтобы кнопка отключения была выбрана и, таким образом, поле было отключено, но когда я нажимаю следующую кнопку, я хочу снова активировать поле. Я использую FXML, и в моем методе initialize в классе контроллера у меня есть этот код:

if ((a.displayDateTime)) {
 showDateTime.setSelected(true);
 onShowDateTime();
} else {
 showStr.setSelected(true);
 onShowStr();
}

Методы 'on' - это мои обработчики, которые просто содержат их setDisable(). Однако я сталкиваюсь с тем, что TextField будет отображаться как отключенный, но не в реальности. На самом деле он отключен, когда он должен быть, но когда он не должен быть отключен, он отображается серым, но все еще может использовать поле. Вот мои методы обработчика:

@FXML
private void onShowDateTime() {
    fieldStr.setDisable(true);
}

@FXML
private void onShowStr() {
    fieldStr.setDisable(false);
}

У кого-нибудь есть идеи, почему это может быть?

...