Итак, моя ситуация здесь, у меня есть 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);
}
У кого-нибудь есть идеи, почему это может быть?