gpt4 book ai didi

java - 使 JavaFX TableView 中的最后一列占据剩余空间

转载 作者:行者123 更新时间:2023-11-30 03:25:43 25 4
gpt4 key购买 nike

如何使 JavaFX TableView 中的最后一列占用剩余空间。

我已经尝试过table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);但这使得列大小相等。当窗口宽度增加时,我只希望最后一列增长。

最佳答案

如果您希望 TableView 中的所有列填满 TableView 可用的窗口空间,并动态调整大小以适应窗口大小的变化,那么您需要将列属性绑定(bind)到 TableView 的宽度。

例如,假设我的 TableView 中有 5 列。我希望它们始终是可用宽度的固定百分比(这样当调整窗口大小时,列的比例保持不变)。您可以使用相同的属性绑定(bind)习惯轻松地形成您自己的列大小调整规则(例如,我希望最后一列占据所有剩余空间)。

在具有 TableView 控件的 Controller 的initialize() 方法中,我可以执行以下操作:

void initialize() {


// Initialize your logic here: all @FXML variables will have been injected
:
:
// TableView column control variables are prefixed with "tco"
tcoLast.setCellValueFactory(new PropertyValueFactory<Client.Expand, String>("lastName"));
tcoFirst.setCellValueFactory(new PropertyValueFactory<Client.Expand, String>("firstName"));
tcoDoB.setCellValueFactory(new PropertyValueFactory<Client.Expand, Integer>("doB"));
tcoMRN.setCellValueFactory(new PropertyValueFactory<Client.Expand, String>("defMRN"));
tcoGen.setCellValueFactory(new PropertyValueFactory<Client.Expand, String>("gender"));

// Cell factories for rendering certain columns in the TableView
tcoLast.setCellFactory(new ClientNameTableCellFactory());
tcoFirst.setCellFactory(new ClientNameTableCellFactory());
tcoDoB.setCellFactory(new ClientDoBTableCellFactory());

// Set fixed column widths that resize automatically
// Values are weighted to be a fraction of a total of 41 (arbitrary)
tcoLast.prefWidthProperty().bind(tbvMatches.widthProperty().multiply(11.0/41.0));
tcoFirst.prefWidthProperty().bind(tbvMatches.widthProperty().multiply(11.0/41.0));
tcoDoB.prefWidthProperty().bind(tbvMatches.widthProperty().multiply(8.0/41.0));
tcoMRN.prefWidthProperty().bind(tbvMatches.widthProperty().multiply(8.0/41.0));
tcoGen.prefWidthProperty().bind(tbvMatches.widthProperty().multiply(2.0/41.0));
:
:
}

关于java - 使 JavaFX TableView 中的最后一列占据剩余空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288558/

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