0

JavaFX中如何增加表格标题和表格单元格的间距。

我创建了如下表:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class TableViewExample extends Application {

  public static void main(String[] args) {
    launch(args);
  }

  @Override
  public void start(Stage primaryStage) {

    TableView tableView = new TableView();

    TableColumn<Person, String> column1 = new TableColumn<>("First Name");
    column1.setCellValueFactory(new PropertyValueFactory<>("firstName"));


    TableColumn<Person, String> column2 = new TableColumn<>("Last Name");
    column2.setCellValueFactory(new PropertyValueFactory<>("lastName"));


    tableView.getColumns().add(column1);
    tableView.getColumns().add(column2);

    tableView.getItems().add(new Person("John", "Doe"));
    tableView.getItems().add(new Person("Jane", "Deer"));

    VBox vbox = new VBox(tableView);

    Scene scene = new Scene(vbox);

    primaryStage.setScene(scene);

    primaryStage.show();
  }

}
4

2 回答 2

2

如果要更改列的宽度,请使用:

column1.setMinWidth(100);

如果要增加标题和数据行之间的间距。然后你可以像这样添加一些空行:

tableView.getItems().add(new Person("", ""));
于 2021-08-11T06:38:27.837 回答
1

我同意评论中提到的@sorifiend。你需要更详细地回答关于你正在寻找什么样的间距的问题。

如果您询问如何放大单元格/标题,一种方法是您可以通过更改 css 值来做到这一点。

添加您的 CSS 样式表,如下所示:

scene.getStylesheets().add(getClass().getResource("table.css").toExternalForm());

并在 table.css 文件中包含以下 css:

.table-cell, .column-header.table-column .label{
  -fx-padding:10px;
}

在此处输入图像描述

于 2021-08-12T05:09:54.110 回答