【问题标题】:How detect which column selected in JavaFX TableView?如何检测 JavaFX TableView 中选择了哪一列?
【发布时间】:2014-08-17 22:26:40
【问题描述】:

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

【问题讨论】:

    标签: javafx tableview


    【解决方案1】:

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

    tableView.getSelectionModel().setCellSelectionEnabled(true);
    

    要跟踪选择了哪些单元格,您可以这样做

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

    【讨论】:

    • pos.getColumn() 返回一个 int,因此您不能在其上使用 .getTitle(),但此代码仍然有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多