gpt4 book ai didi

JavaFX 防止 TableMenuButton 隐藏所有列

转载 作者:行者123 更新时间:2023-11-30 11:13:58 25 4
gpt4 key购买 nike

我想使用表格菜单按钮 (table.setTableMenuButtonVisible(true);) 在 TableView 中隐藏和显示指定的列。当我取消选择所有列时,[+] 按钮隐藏,弹出“表格中没有列”并且用户无法显示任何列。

我试图通过监听 table.getVisibleLeafColumns() 并显示最后隐藏的列来防止隐藏所有列,但随后在菜单按钮的 ChoiceBox 中未选择此列。

最佳答案

绝对是一个错误(您可以考虑在 fx' jira 中报告它)。您在问题中提到的 hack-around 似乎与从 Swing 中借用的一个小技巧一起工作:延迟对 future 可见性的恢复:

ListChangeListener<? super TableColumn> visibleColumnsListener = c -> {
while (c.next()) {
// very last remove
if (c.wasRemoved() && !c.wasReplaced()) {
TableColumn column = c.getRemoved().get(0);
// delay reverting visibility
Platform.runLater(() -> {
column.setVisible(true);
});
}
}
};

它可能比它在 Swing 中的类似物更脏,但是,runnable 的执行是在“ future 某个未指定的时间”并且没有说明它与正常(源自 ui)事件的关系。

报告为 RT-38907并且刚刚修复(重复:RT-37616),应该在一两周内在 8u40 ea 中冒泡。

关于JavaFX 防止 TableMenuButton 隐藏所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26141262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com