4

我有 tableView,第一列是行号。我想为所有没有先设置的列设置 CONSTRAINED_RESIZE_POLICY。

我做了:

//First column implementation
column.setPrefWidth(40);
column.setResizable(false);
... //Make other columns
tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

因此,我选择了第一列的宽度,但其他列比上面代码中没有最后一行的要宽,但仍然有一个额外的 void 列。

我还有另一个问题,因为我寻找将列的大小调整为列中最长文本的长度(我需要它用于第一列),但我只找到了具有非常长且棘手的解决方案的旧答案。有没有简单的解决方案(方法)来做到这一点?

编辑:我发现当我尝试手动调整列的大小时,它们仅在单击以调整其中一列的大小后正确调整大小(因为它们应该使用 CONSTRAINED)所以我有一个问题,为什么他们没有像我描述的那样从一开始就调整大小上面但在尝试手动调整大小之后。我认为问题出在第一列的 setResizable false 上,但我该如何修复呢?

4

1 回答 1

3

我找到了解决方案。要使其他列 CONSTRAINED_RESIZE_POLICY 必须设置第一列的大小,如下所示:

column.setMinWidth(40);
column.setMaxWidth(40);

并且它在没有行 setResizable(false) 的情况下工作。

于 2016-05-11T08:36:28.027 回答