如何在焦点丢失时保持TableView的选择?

时间:2014-03-25 02:33:57

标签: javafx-2

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

当失去对窗口的焦点时,仍然可以在窗口中明显选择所选项目;但是,我找不到从其控制器访问所选对象的方法。

我尝试过使用TableView的方法getSelectionModel().selectedItemProperty().get()getSelectionModel().getSelectedItem(),但如果窗口和/或表格的焦点丢失,这两种方法都会返回null

1 个答案:

答案 0 :(得分:2)

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

    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()));
    });