我尝试使用百分比值设置tableview的列宽。
我从这里开始:How to set column width in tableview in javafx? 但是这样即使我删除了它也没有正常工作的插图。
这是我的代码:
private TableColumn<NetworkDrive, ?> createTableColumn(String columnName, String propertyName, String alignment,
double widthPercentage) {
TableColumn<NetworkDrive, String> tableColumn = new TableColumn<>(columnName);
tableColumn.setCellValueFactory(new PropertyValueFactory<>(propertyName));
tableColumn.setStyle(alignment);
tableColumn.setReorderable(false);
tableColumn.setResizable(false);
tableColumn.prefWidthProperty().bind(networkDriveTableView.widthProperty()
.multiply(widthPercentage / 100.0)
.subtract(((networkDriveTableView.getInsets().getLeft() + networkDriveTableView.getInsets().getRight()) / COLUMN_COUNT)));
return tableColumn;
}
如果我在减法部分添加+0.7:
.subtract(((networkDriveTableView.getInsets().getLeft() + networkDriveTableView.getInsets().getRight()) / COLUMN_COUNT) + 0.7));
它完美运作,我不知道为什么。 有人可以解释一下吗?我做错了吗?
表格插图为10。我有3栏。
干杯