color row tableview不改变javafx

时间:2016-08-08 13:01:44

标签: javafx

我有一个tableView,其中包含一个类型消息的文本消息更改颜色。 我有以下代码:

tableViewErreur.setRowFactory(param -> new TableRow<BoErreur>() {
        @Override
        protected void updateItem(BoErreur paramT, boolean empty) {
            super.updateItem(paramT, empty);
            if (!isEmpty() && paramT != null) {
                switch (paramT.getNiveauErreur()) {
                case 0:
                    setId(ConstantsUI.CSS_ERREUR_INFO);
                    break;
                case 1:
                    setId(ConstantsUI.CSS_ERREUR);
                    break;
                default:
                    break;
                }
                tableViewErreur.refresh();
            }
        }
    });

我有以下代码在我的单元格中包含一个包装文本:

tableColumnErreur.setCellFactory(new Callback<TableColumn<BoErreur, String>, TableCell<BoErreur, String>>() {
        @Override
        public TableCell<BoErreur, String> call(TableColumn<BoErreur, String> arg0) {
            return new TableCell<BoErreur, String>() {
                private Text text;

                @Override
                public void updateItem(String item, boolean empty) {
                    super.updateItem(item, empty);
                    if (!isEmpty()) {
                        text = new Text(item.toString());
                        text.setWrappingWidth(tableColumnErreur.getWidth());
                        this.setWrapText(true);

                        setGraphic(text);

                    }
                }
            };
        }
    });

问题是我的第二个代码删除了单元格的颜色。我需要做出:

switch (paramT.getNiveauErreur())
在RowFactory中

确定我的行的颜色。

请帮忙,

感谢。

1 个答案:

答案 0 :(得分:0)

如果您想在奇数行和偶数行中制作不同的颜色,则只需在 .css 文件中使用此代码。

 .table-row-cell:odd{
    //add color here
}

.table-row-cell:even{
    //add color here
}