Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自定义行样式_Java_Javafx_Javafx 8_Tableviewcell - Fatal编程技术网

Java 自定义行样式

Java 自定义行样式,java,javafx,javafx-8,tableviewcell,Java,Javafx,Javafx 8,Tableviewcell,我有一个tableview tbvAlumnos,它有两个tablecolumns:tbcNombre,tbcApellidos 我从pojo映射了一个列表: public class Alumno { private boolean activo; private String nombre; private String apellidos; } 在我将alumnos的列表映射到tableview的地方,我想在AlumnoActivo为false时用红色文本填充行,在为true

我有一个tableview tbvAlumnos,它有两个tablecolumns:tbcNombre,tbcApellidos

我从pojo映射了一个列表:

public class Alumno
{
  private boolean activo;
  private String nombre;
  private String apellidos;
}
在我将alumnos的列表映射到tableview的地方,我想在AlumnoActivo为false时用红色文本填充行,在为true时用绿色文本填充行

我试过了,但我不知道如何让每个校友检查是否处于活动状态,因为后续代码失败,因为我传递的是校友项目而不是字符串

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

                if (item == null || empty) {
                    setText(null);
                    setStyle("");
                } else {
                    // Format date.
                    setText(item.toString());
                    setStyle("-fx-text-fill: red");
                }
            }
        };
    });
因此,我如何根据每行中每个项目的条件向所有行字段添加样式。

使用单元格工厂,而不是单元格工厂。实际上,它非常复杂,但它应该足以满足您的需要。