当焦点丢失到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()));
});