TableView设置列宽百分比,任意数

时间:2018-05-31 08:51:12

标签: java javafx javafx-8

我尝试使用百分比值设置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;
}  

输出: badTable

如果我在减法部分添加+0.7:

.subtract(((networkDriveTableView.getInsets().getLeft() + networkDriveTableView.getInsets().getRight()) / COLUMN_COUNT) + 0.7));

它完美运作,我不知道为什么。 有人可以解释一下吗?我做错了吗?

goodTable

表格插图为10。我有3栏。

干杯

0 个答案:

没有答案