如何检测在 JavaFX TableView 中选择了哪一列?

rim*_*mas 2 javafx tableview

如何检测当用户单击某个单元格时选择了哪一列(名称或 ID)?

Jam*_*s_D 5

要选择单个单元格而不是整行,请调用

tableView.getSelectionModel().setCellSelectionEnabled(true);
Run Code Online (Sandbox Code Playgroud)

要跟踪选择了哪些单元格,您可以执行

final ObservableList<TablePosition> selectedCells = table.getSelectionModel().getSelectedCells();
selectedCells.addListener(new ListChangeListener<TablePosition>() {
    @Override
    public void onChanged(Change change) {
        for (TablePosition pos : selectedCells) {
            System.out.println("Cell selected in row "+pos.getRow()+" and column "+pos.getTableColumn().getText());
        }
    });
});
Run Code Online (Sandbox Code Playgroud)