你好我目前正在建設使用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