Javafx:TableView根据列值更改行颜色

标签 javafx javafx-2 javafx-8

我有以下代码来更新列单元格及其相应行的颜色:

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

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

                TableRow currentRow = getTableRow();

                //This doesn't work
                if(item.equals("a")){
                    item.setTextFill(Color.RED);
                    currentRow.setTextFill(Color.PINK);
                    }
                else{
                    item.setTextFill(Color.GREEN);
                    currentRow.setTextFill(Color.BLUE);
                }

            }
        };
    });

“if”条件的代码段不起作用。我无法识别对对象的正确引用以及执行此操作的最佳方法是什么。

谢谢!

最佳答案

private void customiseFactory(TableColumn<CallLogs, String> calltypel) {
    calltypel.setCellFactory(column -> {
        return new TableCell<CallLogs, String>() {
            @Override
            protected void updateItem(String item, boolean empty) {
                super.updateItem(item, empty);

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

                TableRow<CallLogs> currentRow = getTableRow();

                if (!isEmpty()) {

                    if(item.equals("a")) 
                        currentRow.setStyle("-fx-background-color:lightcoral");
                    else
                        currentRow.setStyle("-fx-background-color:lightgreen");
                }
            }
        };
    });
}

这有效!

关于Javafx:TableView根据列值更改行颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30889732/

相关文章:

java - 如何让MediaPlayer重复播放声音?

javafx - 如何在 Javafx 中对齐对话框 Pane 的确定按钮?

JavaFX TableView 单元格编辑器

java - javafx 中是否有任意形状的 "fill"函数?

java - 以编程方式更改排序列后,光标键在带有 setCellSelectionEnabled 的 TableView 中不起作用

java - 通过 jnlp WebStart 启动 JavaFx 应用程序 - 不加载 jnlp 描述符中定义的系统 native 库

JavaFx 未选择的 TreeItem (TreeView)

java - file.getPath() 的相对路径

java - JavaFX制作窗口中的JOptionPane 'Not Respond'

JavaFX 可编辑 TableCell for Double 属性