llenar - JavaFX-Adapta la altura de TableView al número de filas
tableview javafx css (1)
Si desea que esto funcione, debe establecer fixedCellSize
.
Luego, puede vincular la altura de TableView
con el tamaño de los elementos contenidos en la tabla multiplicado por el tamaño de celda fijo.
Manifestación:
@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();
}
Nota: multipliqué fixedCellSize * (tamaño de datos + 1.01) para incluir la fila del encabezado.
Quiero que la altura de mi TableView se adapte al número de filas rellenas, de modo que nunca muestre filas vacías. En otras palabras, la altura de TableView no debe ir más allá de la última fila llena. ¿Cómo hago esto?