TableView установка ширины столбца в процентах, произвольное число - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь установить ширину столбца таблицы в процентах.

Я начал отсюда: Как установить ширину столбца в табличном представлении в 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 колонки.

ура

...