以下问题: changeListener中的指令导致两个TextField在Dialog之后获得Focus的行为。
当Postleitzahl失去焦点时,它会打开一个对话框。如果单击“确定”,则只需要第一个文本字段即可获得焦点。但真正发生的是,下面的文本区域也会得到关注。
方法“controlMinChar”设置最小数量。方法setMinCharacter使用该方法并使用focusedProperty
private void setMinCharacter(){
plz.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> ov, Boolean lostFocus, Boolean getFocus) {
if(lostFocus){
generalControler.controlMinChar(plz, 5,
(Stage) anchorPane.getScene().getWindow(),
errorMessage);
}
}
});
}
我希望你能帮助我。 非常感谢你。
答案 0 :(得分:1)
问题是:http://javafx-jira.kenai.com/browse/RT-28363
解决方法:
tf1.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> ov, Boolean lostFocus, Boolean getFocus) {
if (lostFocus) {
Platform.runLater(new Runnable() {
@Override
public void run() {
tf1.requestFocus();
}
});
}
}
});