Java FX - заполнение строк таблицы разными цветами - PullRequest
0 голосов
/ 11 ноября 2018

Я обновил свой код, чтобы показать, как выглядит весь класс Тем не менее, я получил некоторые ошибки. Можете ли вы проверить, что мне нужно улучшить, чтобы это работало

В основном проблема заключается в методе fillTableView ()

private TableCell fillTableView() {

    clientColumn.setCellFactory(column -> {
        return new TableCell<CarFx, String>() {
            @Override
            protected void updateItem(String item, boolean empty) {
                super.updateItem(item, empty);

                setText(empty ? "" : getItem().toString());
                setGraphic(null);

                TableRow<CarFx> currentRow = getTableRow();

                if (!isEmpty()) {

                    if (item.equals("EMPTY EMPTY"))
                        currentRow.setStyle("-fx-background-color:green");
                    else
                        currentRow.setStyle("-fx-background-color:blue");
                }
            }
        };
    });

}

1 Ответ

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

Вам необходимо обновить элементы табличного представления, переопределив метод updateItem().

Код:

  yourColumnBased.setCellFactory(column -> {
        return new TableCell<CarFx, String>() {
            @Override
            protected void updateItem(String item, boolean empty) {
                super.updateItem(item, empty);

                setText(empty ? "" : getItem().toString());
                setGraphic(null);

                TableRow<CarFx> currentRow = getTableRow();

                if (!isEmpty()) {

                    if(item.equals("assigned")) 
                        currentRow.setStyle("-fx-background-color:blue");
                    else
                        currentRow.setStyle("-fx-background-color:green");
                }
            }
        };
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...