JavaFx给 TableView<Map<String, Object>>的单元格设置字体颜色
时间: 2023-11-11 07:04:05 浏览: 130
你可以通过自定义单元格工厂来实现这个功能。以下是一个示例代码:
```java
tableView.setRowFactory(tv -> new TableRow<Map<String, Object>>() {
@Override
protected void updateItem(Map<String, Object> item, boolean empty) {
super.updateItem(item, empty);
if (empty || item == null) {
setText(null);
setStyle("");
} else {
setText(item.toString());
if (item.get("color") != null) {
String color = (String) item.get("color");
setStyle("-fx-text-fill: " + color + ";");
}
}
}
});
```
在这个示例中,我们使用 `setRowFactory` 方法来设置单元格工厂。在 `updateItem` 方法中,我们检查单元格是否为空,并从 `Map` 中获取颜色属性。如果颜色属性存在,则设置文本颜色。注意,我们将整行的文本设置为 `item.toString()`,但你可以根据需要自定义此行为。
希望这可以帮助你!
阅读全文