JavaFX TableView:选择整个TableColumn并获取索引

托比亚斯

假设我们有一个简单的Tableview,其中包含3列(A,B,C)。每列包含一些目前不重要的数据。

我想知道是否有可能只选择整个列(无论用户在何处单击该列)并检索用户选择的该列的ID和/或索引?

例如,用户单击B列区域中的某处。在这种情况下,应标记整个列,并应返回索引2。

任何帮助,将不胜感激 ;)

DVarga

您可以尝试如下操作:

table.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
table.getSelectionModel().setCellSelectionEnabled(true);

table.addEventFilter(MouseEvent.MOUSE_PRESSED, (event) -> {
    if(event.isShortcutDown() || event.isShiftDown())
        event.consume();
});


table.getFocusModel().focusedCellProperty().addListener((obs, oldVal, newVal) -> {

    if(newVal.getTableColumn() != null){
        table.getSelectionModel().selectRange(0, newVal.getTableColumn(), table.getItems().size(), newVal.getTableColumn());
        System.out.println("Selected TableColumn: "+ newVal.getTableColumn().getText());
        System.out.println("Selected column index: "+ newVal.getColumn());
    }
});

table.addEventFilter(MouseEvent.MOUSE_PRESSED, (event) -> {
    if(event.isShortcutDown() || event.isShiftDown())
        event.consume();
});

此代码段:

  • 设置selectionModeProperty的选择模式TableView,以SelectionMode.MULTIPLE使TableView能够选择多行多。

  • 将的cellSelectionEnabledProperty选择模型设置TableView为,true以便TableView能够选择单元格而不是行

  • 附加一个监听到focusedCellProperty所述的焦点模型的的TableView哪个听者打印出TableColumn当前选择的小区和选择的所有的单元中所选择的列

  • TableView如果按下修改键以禁用鼠标事件,例如按下Shift +单击选择

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JAVAFX:TableView获取多个选择数据

来自分类Dev

TableColumn JavaFX的SetPropertyValueFactory

来自分类Dev

JavaFX TableColumn使用文本类并选择行时字体颜色错误

来自分类Dev

JavaFX TableView索引访问或固定表

来自分类Dev

以ObservableList作为值的JavaFX TableColumn

来自分类Dev

JavaFX-获取cellFactory()的整个行项目?

来自分类Dev

如何检测JavaFX TableView中选择的列?

来自分类Dev

JavaFX更改TableView选择行栏的蓝色

来自分类Dev

JavaFX通过使用ComboBox选择填充TableView

来自分类Dev

JavaFX tableview 启用和禁用行选择

来自分类Dev

JavaFX模糊整个窗口

来自分类Dev

JavaFX-8-如何获取TableView的行数?

来自分类Dev

javafx tableview如何获取我单击的行?

来自分类Dev

JavaFX如何从Tableview获取选定行的数据

来自分类Dev

从JavaFx TableView上的项目获取属性

来自分类Dev

Javafx TableView编辑验证

来自分类Dev

TableView中的JavaFX属性

来自分类Dev

JavaFX Derby TableView

来自分类Dev

JavaFX TableView排序策略

来自分类Dev

JavaFX TableView删除问题

来自分类Dev

JavaFX TableView频繁更新

来自分类Dev

JavaFX的从TableView中删除

来自分类Dev

使javafx TableView像JTable

来自分类Dev

在JavaFX中编辑TableView

来自分类Dev

JavaFX TableView与SceneBuilder

来自分类Dev

JavaFX从ObservableList填充TableView

来自分类Dev

在JavaFX tableView中导航

来自分类Dev

在 javafx 中填充 tableview

来自分类Dev

JavaFX tableview 清除集合