JAVAFX: три вида таблицы => Когда я выбираю вид таблицы, остальные должны быть удалены, а цвет удален - PullRequest
0 голосов
/ 23 ноября 2018

Я немного растерялся.На самом деле, у меня есть три таблицы, и я хочу удалить выбор из двух, когда я нажимаю на строку, которая находится в третьей.Чтобы сделать это, я попытался удалить selectionModel и focusModel.Тем не менее, цвет остается, и это проблема

Примером пробного кода является:

    private void initOnTableviewChange(TableView<PhrasePo> tableSelected, TableView<PhrasePo> table2, TableView<PhrasePo> table3) {
    tableSelected.selectionModelProperty().addListener((obs, oldSelection, newSelection) -> {
        if (oldSelection == null) {

            if (table2.getSelectionModel() != null) {
                table2.getSelectionModel().clearSelection();
                table2.setSelectionModel(null);
            }

            if (table3.getSelectionModel() != null) {
                table3.getSelectionModel().clearSelection();
                table3.setSelectionModel(null);

            }
        }

    });

}

Пожалуйста, вы можете помочь мне решить эту проблему.

Спасибо за вашу помощь, и я желаю вам хорошего дня.

Сердечно,

Vinz

1 Ответ

0 голосов
/ 23 ноября 2018

Решение:

private void initOnTableviewChange(TableView<PhrasePo> tableSelected, TableView<PhrasePo> table2, TableView<PhrasePo> table3) {
    tableSelected.setRowFactory(tv -> {
        TableRow<PhrasePo> row = new TableRow<>();
        row.setOnMouseClicked(event -> {
            table2.getSelectionModel().clearSelection();
            table3.getSelectionModel().clearSelection();

        });
        return row;
    });
...