Javafx:TableCell焦点丢失了

时间:2017-06-06 11:24:45

标签: java javafx tableview javafx-8 listener

我有TableView我希望在细胞失去焦点时做点什么。 我在此TableView上启用了单元格选择,但它不会侦听单元格焦点丢失。我试过这种方式:

table.getFocusModel().focusedCellProperty().addListener((observable, oldValue, newValue) -> {
        if (newValue != null) {
            //doSomething
        }
        // else doSomethingElse doesn't work
});

当我取消选择(Ctrl +单击)单元格时,它就不会听。我错了什么,或者如何在TableCell上听取焦点丢失?

1 个答案:

答案 0 :(得分:0)

我用这个:

TABLEVIEW.focusedProperty().addListener(new ChangeListener<Boolean>() {
    @Override
    public void changed(ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue, Boolean newPropertyValue) {
        if (newPropertyValue) {
            System.out.println("on focus");
        } else {
            System.out.println("out focus");
        }
     }
});

仅当您选择另一个可选元素时才有效(例如,单击窗格时无效)。