你好我目前正在建设使用javaFx的项目,并想知道是否有可能在运行时动态改变列表视图对象单元格的颜色。列表视图的每个单元格表示具有与其关联的颜色的对象。我遇到的问题是每个对象都有一个在运行时生成的颜色,对象的数量不一定会保持不变。Javafx listview动态改变列表视图单元格的颜色
javaFX代码库正在使用的底层GUI是fxml。我已经尝试过使用CSS,但由于在运行时会生成与这些对象相关的对象和颜色的数量,所以我无法将其强制编码到样式表中。我也一直在寻找使用细胞工厂为每个细胞创建所需的细胞,但是我需要将颜色传递到细胞工厂,并且必须采用RGB格式。有没有人对这个问题有任何经验?
的for(int i = 0;我< mice.mice.size();我++){
selectedMiceListView.setCellFactory(new Callback<ListView<Object>,
ListCell<Object>>() {
// @Override
public ListCell<Object> call(final ListView<Object> param) {
final ListCell<Object> cell = new ListCell<Object>() {
@Override
protected void updateItem(final Object item, final boolean empty) {
super.updateItem(item, empty);
setStyle("-fx-background-color: rgb(" + mice.mice.get(i).red + "," + mice.mice.get(i).green + ", " + mice.mice.get(i).blue + ");");
}
};
return cell;
}
});
}
下面是我到目前为止已经试过,它说,内部类必须具有有效的最后变量。有没有办法修改它,以便它接受我试图设置它的rgb值?
试着问一个具体问题,为您提供迄今做了什么。 SO不是一个编写代码的网站。 – Masoud