如何在 JavaFX Tableview 中增加 table header 和 table 单元格的宽度
How to increase the width of table header and table cell in JavaFX Tableview
如何在 JavaFX 中增加 table header 和 table 单元格的间距。
我创建了我的 table,如下所示:
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();
}
}
如果您想更改列的宽度,请使用:
column1.setMinWidth(100);
如果您想增加 header 和数据行之间的间距。然后你可以像这样添加一些空行:
tableView.getItems().add(new Person("", ""));
我同意@sorifiend 在评论中提到的内容。关于您要寻找什么样的间距的问题,您需要更加详尽。
如果您询问如何放大 cell/header,一种方法是您可以通过更改 css 值来实现。
添加您的 css 样式表如下:
scene.getStylesheets().add(getClass().getResource("table.css").toExternalForm());
并在 table.css 文件中包含以下 css:
.table-cell, .column-header.table-column .label{
-fx-padding:10px;
}
如何在 JavaFX 中增加 table header 和 table 单元格的间距。
我创建了我的 table,如下所示:
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();
}
}
如果您想更改列的宽度,请使用:
column1.setMinWidth(100);
如果您想增加 header 和数据行之间的间距。然后你可以像这样添加一些空行:
tableView.getItems().add(new Person("", ""));
我同意@sorifiend 在评论中提到的内容。关于您要寻找什么样的间距的问题,您需要更加详尽。
如果您询问如何放大 cell/header,一种方法是您可以通过更改 css 值来实现。
添加您的 css 样式表如下:
scene.getStylesheets().add(getClass().getResource("table.css").toExternalForm());
并在 table.css 文件中包含以下 css:
.table-cell, .column-header.table-column .label{
-fx-padding:10px;
}