您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

JavaFX-将TableView的高度调整为行数

JavaFX-将TableView的高度调整为行数

如果您希望此操作有效,则必须设置fixedCellSize

然后,您可以将的高度TableView与表格中包含的项目大小乘以固定单元格大小绑定在一起。

演示:

@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)以包含标题行。

java 2022/1/1 18:15:51 有673人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶