两个TableView之间的JavaFX单选

时间:2014-08-14 22:10:14

标签: java javafx tableview javafx-8

我在同一个AnchorPane上有两个不同的Tableview,它们中只有一个可以随时拥有一个选定的单元格。

因此,如果用户从一个TableView中选择一个单元格,并且在另一个单元格中有一个先前选定的单元格,则必须取消选择该单元格。

1 个答案:

答案 0 :(得分:1)

只需在每个表的选择模型中注册侦听器,如果在当前表中选择了某些内容,则清除另一个表中的选择:

    table1.getSelectionModel().selectedItemProperty().addListener((obs, oldItem, newItem) -> {
        if (newItem != null) {
            table2.getSelectionModel().clearSelection();
        }
    });

    table2.getSelectionModel().selectedItemProperty().addListener((obs, oldItem, newItem) -> {
        if (newItem != null) {
            table1.getSelectionModel().clearSelection();
        }
    });