javafx 2 - 当焦点丢失时,如何保留 TableView 的选择?



当焦点丢失到Windows时,我如何保持TableView的选择?

当一个窗口的焦点丢失时,被选中的项目在窗口中仍然是被选中的;但是,我找不到从其控制器访问选定对象的方法。

我已经尝试使用TableView的方法getSelectionModel().selectedItemProperty().get()getSelectionModel().getSelectedItem(),但这两个返回null,如果焦点到窗口和/或表丢失。

使用变量并在更改侦听器中设置它。我使用标签进行调试。

    table.getSelectionModel().getSelectedCells().addListener(new ListChangeListener<TablePosition>() {
        @Override
        public void onChanged(ListChangeListener.Change<? extends TablePosition> c) {
            label1.setText(String.valueOf(c.getList().get(0).getRow()));
        }
    });
java 8

    table.getSelectionModel().getSelectedCells().addListener((ListChangeListener.Change<? extends TablePosition> c) -> {
        label1.setText(String.valueOf(c.getList().get(0).getRow()));
    });

最新更新