更新时间:2022-12-12 11:25:38
花了半天时间来解决问题.也许我的调查对其他人可能有用. 可以使用一些技巧来禁用列重新排序.步骤如下:
Spent half of a day trying to solve the problem. Maybe my investigation can be useful for someone else. It's possible to disable column reordering using some hacks. And here're the steps:
完整代码在这里:
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);
}
});
}
});
我不确定该解决方案的副作用,但是快速测试表明该解决方案效果很好.
I'm not sure about side effects of this solution, but quick tests show that solution works well.