gpt4 book ai didi

tableview - 如何防止TableView在javaFX 8中对TableColumn重新排序?

转载 作者:行者123 更新时间:2023-12-01 18:15:13 24 4
gpt4 key购买 nike

我读了这个https://bugs.openjdk.java.net/browse/JDK-8102128,但是我没有在JavaFX 8的Api中找到任何东西。没有什么方法可以防止TableView中的重新排序?

最佳答案

花了半天时间试图解决问题。也许我的调查对其他人可能有用。
可以使用一些技巧来禁用列重新排序。步骤如下:


获取表头。可以按照以下说明进行操作:https://stackoverflow.com/a/12465155
将更改事件侦听器添加到reorderingProperty,该属性将重新排序设置为false。


完整代码在这里:

tableView.widthProperty().addListener(new ChangeListener<Number>()
{
@Override
public void changed(ObservableValue<? extends Number> source, Number oldWidth, Number newWidth)
{
TableHeaderRow header = (TableHeaderRow) tableView.lookup("TableHeaderRow");
header.reorderingProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
header.setReordering(false);
}
});
}
});


我不确定该解决方案的副作用,但是快速测试表明该解决方案效果很好。

关于tableview - 如何防止TableView在javaFX 8中对TableColumn重新排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60383235/

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