7

我正在尝试使用以下代码创建一个包含单列的表:

TableView<String> table = new TableView<String>();
table.getColumns().clear();
table.getColumns().add(new TableColumn<String, String>("City Name"));
table.setItems(cityList);

但是,我得到一个表,其中包含“城市名称”列,后跟一个空白列

我是 JavaFx 的新手,所以可能有更好的方法来做到这一点。

4

1 回答 1

14

我记得在过去没有运气的情况下,我自己试图通过使用 css 属性来“删除”空白列。解决方法是,
- 手动设置首选项宽度cityColumn以覆盖整个空间:

TableColumn<String, String> cityColumn = new TableColumn<String, String>("City Name");
cityColumn.setPrefWidth(table.getPrefWidth() - 2);

-2对于边框宽度。您也可以直接将列宽属性绑定到表格宽度属性,从而在调整表格宽度时自动更新列宽。请参阅此答案https://stackoverflow.com/a/10152992/682495
或者,
- 将列调整大小策略设置为CONSTRAINED_RESIZE_POLICY

table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
于 2012-06-14T13:39:40.060 回答