0
나는이 TextField의 QntMatr
이 물질의 수량을 의미하고 QntMatr
또는 UniteMatr
의 사용자 넣어 커서 버튼 addMatrButton
가 비활성화해야 할 때 UniteMatr
이 quantity.I 필요의 단위를 의미 있고, QntMatr 및 UnitrMatr가 비어 있지 않은 때 활성화됩니다 둘 다. UniteMatr
과 QntMatr
사이의 바인딩을 시도했지만 정확한 방법을 알지 못했습니다.JavaFx : 집중된 속성을 사용하는 방법?
코드
QntMatr.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (newValue) {
if (QntMatr.getText().isEmpty() && UniteMatr.getText().isEmpty()) {
AddMatrButton.setDisable(true);
} else {
AddMatrButton.setDisable(false);
}
}
}
});
UniteMatr.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (newValue) {
if (QntMatr.getText().isEmpty() && UniteMatr.getText().isEmpty()) {
AddMatrButton.setDisable(true);
} else {
AddMatrButton.setDisable(false);
}
}
}
});
경우 어떻게됩니까을 'TextField' 중 하나에 초점이 맞춰져 있지만'TextField' 둘 다 비어 있지 않습니까? 나에게 그것은 사용자가 Button 컨트롤이 활성화되도록 다른 컨트롤에 초점을 맞추어야하는 나쁜 사용자 경험 인 것 같다. – fabian
아니요, QntMatr 및 UnitMatr은 선택적 필드입니다. 사용자가 추가 할 수 없습니다. 수량 및 단위를 비워 두십시오. –