JavaFX - 隐藏列后单元格渲染中的错误
Posted
技术标签:
【中文标题】JavaFX - 隐藏列后单元格渲染中的错误【英文标题】:JavaFX - bug in cell render after hiding columns 【发布时间】:2016-06-22 07:57:27 【问题描述】:首先对不起我的英语:) 我有一个奇怪的错误...我想在按下按钮后隐藏 JavaFX TableView 中的一些列。代码尽量简单:
column8.visibleProperty().set(false);
column9.visibleProperty().set(false);
(我也用 remove 进行了测试,结果相同)。 问题是,在“相邻单元”中,在此操作之后,我从某处获得了“分隔符”。 我使用 Cellfactories 是我的代码。对于隐藏单元之一,它是
column8.setCellFactory(column ->
return new TableCell<Anfrage, Mandant>()
@Override
protected void updateItem(Mandant item, boolean empty)
super.updateItem(item, empty);
if (item == null || empty)
setText(null);
else
setText(item.getNameMandant());
;
);
对于单元格,隐藏后我有“分隔符”:
//Store
column10.setCellFactory(column ->
return new TableCell<Anfrage, Terminals>()
@Override
protected void updateItem(Terminals item, boolean empty)
super.updateItem(item, empty);
if (item == null || empty)
setText(null);
else
setText(item.getStore());
;
);
一些图片来解释什么是真正的错误。
如果我再次将可见设置为“true”,一切都会按预期工作 - 所有列都在那里,任何地方都没有任何“分隔符”。
非常感谢您的建议!
【问题讨论】:
【参考方案1】:所以,最终 tableview 刷新在 JavaFX 8u60 中得到解决。现在“原生”table.refresh()
就可以了。
【讨论】:
以上是关于JavaFX - 隐藏列后单元格渲染中的错误的主要内容,如果未能解决你的问题,请参考以下文章