gpt4 book ai didi

JavaFX - 使 TableView 高度适应行数

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:50 32 4
gpt4 key购买 nike

我希望我的 TableView 的高度适应填充行的数量,这样它就不会显示任何空行。换句话说,TableView 的高度不应超过最后填充的行。我该怎么做?

最佳答案

如果你想让它工作,你必须设置 fixedCellSize .

然后您可以将 TableView 的高度绑定(bind)到表格中包含的项目的大小乘以固定的单元格大小。

演示:

@Override
public void start(Stage primaryStage) {

TableView<String> tableView = new TableView<>();
TableColumn<String, String> col1 = new TableColumn<>();
col1.setCellValueFactory(cb -> new SimpleStringProperty(cb.getValue()));
tableView.getColumns().add(col1);
IntStream.range(0, 20).mapToObj(Integer::toString).forEach(tableView.getItems()::add);

tableView.setFixedCellSize(25);
tableView.prefHeightProperty().bind(tableView.fixedCellSizeProperty().multiply(Bindings.size(tableView.getItems()).add(1.01)));
tableView.minHeightProperty().bind(tableView.prefHeightProperty());
tableView.maxHeightProperty().bind(tableView.prefHeightProperty());

BorderPane root = new BorderPane(tableView);
root.setPadding(new Insets(10));
Scene scene = new Scene(root, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();
}

注意:我将 fixedCellSize *(数据大小 + 1.01)相乘以包括标题行。

关于JavaFX - 使 TableView 高度适应行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27945817/

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