首页 > 解决方案 > JavaFX根据单元格值设置单元格颜色

问题描述

大家好,我想知道是否有一种方法可以根据该单元格的值在 javaFX 中的表格中设置单元格的颜色。

我知道有一种方法,但你必须遍历列。

是否存在类似cell.setColor(GREEN)或带有 css 文件的功能?

标签: javajavafx-8

解决方案


您好, 通常您无法获取表格单元格的实例,因此您需要创建自定义TableCell类,您可以编写一些如下所述的代码来根据您指定的条件进行更改。以下是如何根据条件更改样式的示例。您需要覆盖updateItem()代码中调用的方法。不要忘记。

@Override
protected void updateItem(Integer item, boolean empty) {
    super.updateItem(item, empty);

    if (item == null || empty) {
        setText(null);
        setStyle(""); // set cell style
    } else {
        if (checkCondition) {
            setTextFill(Color.CHOCOLATE);
            setStyle("-fx-background-color: red;");// set your css style here if condition is true
        } else {
            setTextFill(Color.BLACK);
            setStyle(""); // reset the style if condition is false.
        }
    }
}

推荐阅读