JavaFx 2使用单列创建TableView

时间:2012-06-14 12:50:38

标签: java layout tableview javafx-2

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

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

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

我是JavaFx的新手,所以可能有更好的方法。

1 个答案:

答案 0 :(得分:14)

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

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

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

table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);