我想把元素放在javafx的listview和treeview上,但是兩個控件都不會刷新它們的內容。我使用obvservable列表來控制項目,每次我刪除一個項目時,listview或treeview將它從數據源中刪除。但視圖不更新。我仍然看到所有的項目。唯一的區別是,刪除的項目不能再被選中。例如鏈接2顯示拼合的項目列表。圖片1顯示了它們拼合之前的項目。項目已摺疊,但舊條目仍可見。有沒有人知道這個問題的解決方案?謝謝大家對我的幫助javafx listview和treeview控件沒有正確重新繪製
鏈接1:treeview is not collapsed 鏈接2:treeview is collapsed but not updating old view
這是自定義電池廠我用它來顯示一個列表視圖:
public ListCell<T> call(final ListView<T> param) {
ListCell<T> cell = new ListCell<T>(){
@Override
protected void updateItem(final T persistentObject, final boolean empty) {
super.updateItem(persistentObject, empty);
if(persistentObject instanceof POProcessStep){
POProcessStep poProcessStep = (POProcessStep) persistentObject;
if (persistentObject != null) {
super.setText(poProcessStep.getId() + " - " + poProcessStep.getTitle());
}
}else if(persistentObject instanceof POProcess){
POProcess poProcess = (POProcess) persistentObject;
if (persistentObject != null) {
super.setText(poProcess.getId() + " - " + poProcess.getTitle());
}
}else if(persistentObject instanceof POCategory){
POCategory poCategory = (POCategory) persistentObject;
if(persistentObject != null){
super.setText(poCategory.getId() + " - " + poCategory.getTitle());
}
}else if(persistentObject instanceof String){
if(persistentObject != null){
super.setText(String.valueOf(persistentObject));
}
}
super.setGraphic(null);
}
};
return cell;
}
細胞工廠?如果是這樣,請發佈您的代碼。 – 2014-11-08 21:08:26