小编xSm*_*sSx的帖子

javafx listview和treeview控件未正确重新绘制

我试图用javafx将元素放在listview和treeview上,但两个控件都不会刷新它们的内容.我使用一个obvservable列表来控制项目,每次删除一个项目时,listview或treeview将其从数据源中删除.但视图没有更新.我还在看所有物品.唯一的区别是,删除的项目不能再被选中.例如,链接2显示了拼贴项目列表.图1显示了拼贴前的项目.项目已折叠,但旧条目仍然可见.有没有人知道这个问题的解决方案.谢谢大家的帮助

链接1:树视图未折叠 链接2:树视图已折叠但未更新旧视图

这是我用来显示列表视图的自定义单元工厂:

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) …
Run Code Online (Sandbox Code Playgroud)

java treeview javafx repaint

4
推荐指数
1
解决办法
3109
查看次数

标签 统计

java ×1

javafx ×1

repaint ×1

treeview ×1