在JavaFX TableRow中显示颜色

时间:2014-06-04 17:19:22

标签: colors javafx tablerow

我想更改TableRow中显示的文本的颜色。 指令setStyle(" -fx-background-color:green");工作得很好, 但指令setTextFill不起作用。这是正常的吗?

tableView.setRowFactory(new Callback<TableView<Person>, TableRow<Person>>() {
    @Override
    public TableRow<Person> call(TableView<Person> param) {
        final TableRow<Person> row = new TableRow<Person>() {
            @Override
            protected void updateItem(Person person, boolean empty) {
                super.updateItem(person, empty);
                setTextFill(Color.RED);
                //setStyle("-fx-background-color: green");
            }
        };
        return row;
    }
});

1 个答案:

答案 0 :(得分:1)

最简单的方法是在应用程序中设置默认的CSS文件:

 .cell {
   -fx-background-color: #FFCCAA;
   -fx-text-fill: #000000;
 }
  /*   if you want more different colours for even and odds:  */
 .cell:odd {
   -fx-background-color: #FFDDDD;
   -fx-text-fill: green;
 }

您可以将此file.css添加到您的场景中:

scene.getStylesheets().add("file.css");