Вы можете решить эти проблемы, используя привязки:
- Ширина столбца:
Если вы хотите разделиться поровну, тогда:
first.prefWidthProperty().bind(tableView.widthProperty().divide(3));
last.prefWidthProperty().bind(tableView.widthProperty().divide(3));
email.prefWidthProperty().bind(tableView.widthProperty().divide(3));
Или вместо использования divide(3)
вы можете установить любое деление, например: 40% 40% 20%
Как:
double firstPercent = 0.4;
double lastPercent = 0.4;
double emailPercent = 0.2;
// firstPercent + lastPercent + emailPercent = 1 !!!
first.prefWidthProperty().bind(tableView.widthProperty().multiply(firstPercent));
last.prefWidthProperty().bind(tableView.widthProperty().multiply(lastPercent));
email.prefWidthProperty().bind(tableView.widthProperty().multiply(emailPercent));
Высота TableView:
tableView.prefHeightProperty().bind(content.heightProperty());
, где content
является ссылкой VBox