当焦点丢失到Windows时,如何保持TableView的选择?
当失去对窗口的焦点时,仍然可以在窗口中明显选择所选项目;但是,我找不到从其控制器访问所选对象的方法。
我尝试过使用TableView的方法getSelectionModel().selectedItemProperty().get()
和getSelectionModel().getSelectedItem()
,但如果窗口和/或表格的焦点丢失,这两种方法都会返回null
。
答案 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()));
});